[ Обновленные темы · Новые сообщения · Участники · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Worms3D Limits
AlexBond
Админы
Сообщений: 1042
Реп: 106 / Инв: 8
После просьбы моего друга фина, известного под ником GX, убрать ошибку в игре на загрузку HD HUD'а при больших картах, я начал копать Worms3D.exe. И добрался до интересной информации в Worms3D.Exe .
Все ограничения на память загружаемых ресурсов являются текстовыми константами!!!
И если поменять эти значения игра расширяет область памяти автоматически!!!

Вот эти константы:

Код

XString.ArenaSize = 1500000
XContainer.ArenaSize = 4000000
MField.ArenaSize = 32000000
XLua.ArenaSize = 196608
ScriptArena.ArenaSize = 131072
AnimArena.ArenaSize = 3000000
ParticleObjects.ArenaSize = 524288
LandArena.ArenaSize = 524288
AiArena.ArenaSize = 270000
ObjectRegArena.ArenaSize = 8192
InputArena.ArenaSize = 24576
CameraArena.ArenaSize = 8192
MessageRelayArena.ArenaSize = 8192
FrontendArena.ArenaSize = 8192
OtherStuffArena.ArenaSize = 16384
XLua.ArenaSize = 262144
ParticleEmmiter.ArenaSize = 12288   

DRM.MaxInstances = 4330   
DRM.MaxHooks = 512
MRS.MaxMessages = 901
MRS.MaxInterests = 4096
GRM.MaxBitmaps = 700
GRM.MaxMeshes = 500
GRM.MaxCustom = 100
GRM.MaxSpriteSets = 200   
GRM.MaxText = 150   
GRM.MaxNulls = 200
XOM.Arena.LogEvents = 0
XOM.EventLog.Enable = 0
XOM.EventLog.BufferSize = 64000000
XOM.EventLog.UseHighMemory = 1
XOM.EventLog.Pipe.MaxSendInterval = 10000
XOM.EventLog.Pipe.MaxPacketSize = 1000
XOM.EventLog.Pipe.BufferSize = 100000   
Core.MaxTasks = 512
Core.MessageBufferSize = 32768
Core.MaxLogicTasks = 128
Core.MaxServiceTasks = 64



По ошибке которая возникала при нехватки видеопамяти я вышел на MField.ArenaSize = 32000000. В среднем это 32 Мегабайта.
Я изменил этот размер до 96мб и о чудо!!! Карта загрузилась без ошибок!

Так же сегодня Woitek ругался на ограничения в Lua, якобы нельзя писать более 128 функций. И после моего совета он увеличил
XLua.ArenaSize = 999999
ScriptArena.ArenaSize = 999999


После чего игра стала воспринимать большее количество функций!!!

Опытным путем я установил так же что большие карты вылетают по ограничению LandArena.ArenaSize. Но когда я увеличивал память игра попросту зависала. поэтому это не выход. Ну что может выход будет найден в будущем. Но то что мы уже можем использовать HD текстуры в W3D не боясь за вылеты это факт!!!


 
Woitek
Проверенные
Сообщений: 523
Реп: 57 / Инв: 11
 
Вормус
Проверенные
Сообщений: 565
Реп: 20 / Инв: 14
Неплохо.

Rorshach, Hitman 27 и многие прочие уже нас покинули - кто следующий?....
 
AlexBond
Админы
Сообщений: 1042
Реп: 106 / Инв: 8
WUM constaints
Код
DRM.MaxInstances = 8000
DRM.MaxHooks = 1024
MRS.MaxMessages = 1300
MRS.MaxInterests = 4096
GRM.MaxBitmaps = 900
GRM.MaxMeshes = 550
GRM.MaxCustom = 100
GRM.MaxSpriteSets = 300
GRM.MaxText = 500
GRM.MaxNulls = 400
XOM.EventLog.BufferSize = 1000000
XOM.EventLog.UseHighMemory = 1
XOM.EventLog.Pipe.MaxSendInterval = 10000
XOM.EventLog.Pipe.MaxPacketSize = 1000
XOM.EventLog.Pipe.BufferSize = 100000
Core.MaxTasks = 800
Core.MessageBufferSize = 1048576
Core.MaxLogicTasks = 192
Core.MaxServiceTasks = 80
XOM.XomClass.InstanceIdTag = 0
XOM.XomClass.StacktraceTag = 0
XOM.ExportClasses = 0
XOM.LogFile = 1


 
Grimnir
Проверенные
Сообщений: 589
Реп: 19
AlexBond, с каждым днём мне всё больше кажется, что в один прекрасный день ты достанешь исходный код движка игры.







Понравилось моё сообщение ? Повысь репутацию и дай червонец.
Не бывает разницы в возрасте, бывает разница в уме © Вин Дизель
 
Woitek
Проверенные
Сообщений: 523
Реп: 57 / Инв: 11
Цитата AlexBond ()
XString.ArenaSize = 1500000
XContainer.ArenaSize = 4000000
MField.ArenaSize = 32000000
XLua.ArenaSize = 196608
ScriptArena.ArenaSize = 131072
AnimArena.ArenaSize = 3000000
ParticleObjects.ArenaSize = 524288
LandArena.ArenaSize = 524288
AiArena.ArenaSize = 270000
ObjectRegArena.ArenaSize = 8192
InputArena.ArenaSize = 24576
CameraArena.ArenaSize = 8192
MessageRelayArena.ArenaSize = 8192
FrontendArena.ArenaSize = 8192
OtherStuffArena.ArenaSize = 16384
XLua.ArenaSize = 262144
ParticleEmmiter.ArenaSize = 12288   

DRM.MaxInstances = 4330   
DRM.MaxHooks = 512
MRS.MaxMessages = 901
MRS.MaxInterests = 4096
GRM.MaxBitmaps = 700
GRM.MaxMeshes = 500
GRM.MaxCustom = 100
GRM.MaxSpriteSets = 200   
GRM.MaxText = 150   
GRM.MaxNulls = 200
XOM.Arena.LogEvents = 0
XOM.EventLog.Enable = 0
XOM.EventLog.BufferSize = 64000000
XOM.EventLog.UseHighMemory = 1
XOM.EventLog.Pipe.MaxSendInterval = 10000
XOM.EventLog.Pipe.MaxPacketSize = 1000
XOM.EventLog.Pipe.BufferSize = 100000   
Core.MaxTasks = 512
Core.MessageBufferSize = 32768
Core.MaxLogicTasks = 128
Core.MaxServiceTasks = 64


Hmmmm any of this limits are not Shaders limit. Anyway exe crash in same type like for other limits (same code error).
 
  • Страница 1 из 1
  • 1
Поиск: