Програмист реши най-големия проблем на GTA 5 Online и сега топката е в Rockstar

3
15600

Програмист с потребителско име T0st е разкрил от къде идва огромния проблем със зареждането на Grand Theft Auto Online и как се решава. Той е публикувал в Github информация за поправката, която доказва концепцията. Постига се намаляване на времето за зареждане с до 70%

Важно е обаче потребителите да не го използват, защото заради модифициране на играта могат да получат бан от Rockstar

Въпреки безспорния прогрес в областта на хардуера и редицата обновления на играта, този проблем е факт и нищо не е сторено по въпроса. Анонимна анкета в Reddit от миналата година открива, че почти половината от играчите чакат между 3 и 6 минути за зареждане на Online режима. А 35% от играчите чакат дори повече.

Понеже сингъл плейър режима на GTA 5 зарежда много по-бързо, това дава насока на T0st къде да търси проблема

Става ясно, че Online натоварва едно от ядрата на процесора му на максимум за четирите минути, за които играта зарежда. Така че от една страна времето за зареждане зависи от производителността на процесора на едно ядро. Чрез различни инструменти разглежда процеса стъпка по стъпка. Разглежда кода на GTA 5, който се изпълнява в паметта. Забелязва използването на неактуални функции, които зареждат JSON файл с размер от 10 мегабайта и над 63 хиляди записа.

В този файл се намират всички неща, които могат да бъдат закупени в играта. Да, размерът не е голям, но остарелият код, който е използван за имплементацията, забавя процеса – дори за много бързи и мощни компютри.

Например за всеки ред във файла се правят различни проверки, без да се използва кеширане на получените стойности. Поправката на подхода води до над 50% намаляване на времето за зареждане.

След като е изтеглен и проверен JSON файла, GTA Online започва много неефективна проверка на целия масив от информация за дублирани стойности – нулата. Замяната на процеса с hash таблица, при която проверката става много по-бързо, води до още 25% намаляване на времето за зареждане.

Само чрез тези две поправки, T0st обяснява, че времето за зареждане на GTA Online се е свалило от шест минути на по-малко от две минути.

Заинтересованите да тестват поправките могат да компилират DLL файл от изходния код, който той споделя в Github. Но отново, играчите трябва да правят това на свой риск. Абсолютно реалистично е тази модификация да накара anti-cheat проверките на Grand Theft Auto 5 да счетат, че се опитвате да мамите.

Програмистът завършва с това, че вкарването на тази поправка в играта и разпространението до всички играчи ще отнеме на Rockstar не повече от ден. И за това имат нужда от само един програмист.

Именно заради това е важно тази информация да бъде споделена. За да може компанията да забележи обществения интерес и да се захване за работа.

4.2 9 гласа
Оценете статията
Абонирай се
Извести ме за
guest
3 Коментара
стари
нови оценка
Отзиви
Всички коментари