ASI DynamicStreaming

Sergio Persson

Активный
159
35
Плагин динамически меняет количество стриминг памяти, а так же чистит ее при заполнении не удаляя объекты, которые вы видите на экране.

Посмотреть вложение 112629

По умолчанию в игре ограничено количество памяти, которое используют объекты на экране. В SA:MP это ограничение повышено, но при использовании сборок даже повышенного ограничения бывает недостаточно.

Что происходит, когда игра достигает ограничения
Игра начинает удалять из памяти более старые объекты, но если ограничение маленькое, то могут исчезать объекты с экрана.

Почему обычное увеличение лимита не спасает от лагов
Для загрузки новых объектов, которые надо нарисовать игра удаляет старые, но ровно столько, что бы хватило на загрузку новых. В итоге при заполненной памяти, игра при загрузке новых объектов каждый раз удаляет старые и грузит новые с диска, а это медленно.

Почему нельзя выделить памяти больше, чем размер gta3.img, что бы все объекты были в памяти
Игра 32-битная, это значит, что она использует 32-битные регистры и инструкции процессора. Это значит, что максимальный адрес в памяти к которому игра может обратиться это 32 единицы в двоичной системе счисления, что равно 4 гигабайтам. Однако и 4гб игре не доступны, потому что число может быть не только положительным, но и отрицательным, а это значит, что среди 32 единиц и нолей одна цифра должна означать знак +/-. Следовательно на адреса в памяти остается 31 бит - 31 единица это 2гб.

Можно ли как-то пропатчить игру, что бы все 32 бита означали адрес и игра могла использовать 4гб
Можно установить флаг LAA (large address aware) в заголовке PE у gta_sa.exe

Почему на некоторых сборках игра крашит при заполнении стриминг памяти
Максимальный лимит, который можно указать для стриминга 4гб (что и делают в сборках), но как было описано выше игра не может столько использовать. В итоге она крашит из-за нехватки памяти

Что отличает этот плагин от других
Данный плагин проверяет сколько памяти игра использует НЕ для стриминга и всю остальную доступную память отдает под стриминг, что бы минимизировать лаги при его заполнении. При этом если это возможно, не дает игре выйти за пределы оперативной памяти, если ее меньше 4гб в компе, что позволяет избежать использования файла подкачки, загрузка данных из которого такая же медленная, как загрузка с диска.

Что будет делать плагин, когда стриминговая память закончится
Плагин заранее, при достижении 90% заполнения запустит таймер на 1 минуту, по истечению которого половина (или четверть, если памяти мало) стриминга будет очищено.

Как работает очистка стриминга
Сначала удаляются объекты, которых давно не было на экране. Если этого не достаточно, то удаляются объекты за спиной игрока, которые не видно. Если и этого не достаточно, то удаляются объекты на экране. В общем визуально очистка не должна быть заметна.

Исходники: https://gitlab.com/prime-hack/samp/plugins/DynamicStreaming
Найс фпс!
Пролагов нету!!
++REP
 

Savecore

Новичок
2
1
Не высвечивается текст со скриншота, это нормально? Так должно быть?
img for forum.png
 

shade!

Известный
811
271
обычный клинер памяти можно не использовать теперь или что? ответьте чайнику
 

Alessandro Barella

Активный
215
77
Установил Rosa Project Evolved HD (2K/4K) текстуры + Project 2DFX. И как бы DynamicStreaming.asi работает идеально, но когда я еду по карте, то память очень быстро забивается. И при достижении 90% таймер в 1 минуту лишний. Так как за эту 1 минуту оставшиеся 10% памяти забиваются окончательно и сборка зависает намертво.
Мне кажется лучше убрать таймер или сделать задержку в секунд 5-10
 

ForestLive

Известный
40
4
Какая из версия актуальная? А то я сам запутался. Вторая же?
 

dinky

Участник
67
24
Практически чистый лаунчер(реконект и фикс реконнекта и анти афк), стоит полный ретекстур RoSA, если установить этот плагин, то игра крашится, когда достигает лимита ~2гб+, если не устанавливать этот плагин, то все нормально и ничего не крашится, лаунчер обновлен до последний версии
краш логи:
после использования из шапки темы: https://pastebin.com/4AEuXYEy
после использования из этого сообщения: https://pastebin.com/6qixUGs9
 

ARMOR

kjor32 is legend
Модератор
4,827
6,013
Практически чистый лаунчер(реконект и фикс реконнекта и анти афк), стоит полный ретекстур RoSA, если установить этот плагин, то игра крашится, когда достигает лимита ~2гб+, если не устанавливать этот плагин, то все нормально и ничего не крашится, лаунчер обновлен до последний версии
краш логи:
после использования из шапки темы: https://pastebin.com/4AEuXYEy
после использования из этого сообщения: https://pastebin.com/6qixUGs9
На лаунчере это вроде как и так установлено.
 
  • Bug
Реакции: dinky

evan.

Новичок
13
2
Open Limit Adjuster может повышать кол-во стриминговой памяти, и это даже влияет на самп, собственно в чем проблема использовать его
 
  • Эм
Реакции: cooqie

SR_team

like pancake
Автор темы
BH Team
4,707
6,347

Похожие темы