2 registered members (Akow, tomaslolo),
1,536
guests, and 12
spiders. |
Key:
Admin,
Global Mod,
Mod
|
|
|
Optimizing size of levels (memory issues)
#357819
02/08/11 20:44
02/08/11 20:44
|
Joined: Aug 2002
Posts: 2,183 Germany, BaW�
Rondidon
OP
Expert
|
OP
Expert
Joined: Aug 2002
Posts: 2,183
Germany, BaW�
|
Hello again, I`m on optimizing the size of my levels, because I ran into serious memory problems (E1004 "No memory left"). I just optimized the geometry textures by successfully converting them into DDS. But the problems aren`t that smaller. Here`s the performance chart after loading my biggest level. My questions: The architecture of the level is very complex. The memory in kb of "m", "shd" and "v" are very, very high while the 16MB for geometry are okay. - How can I optimize memory consumption in an efficient way? - Is it possible to use DDS for panel graphics? (I use TGA+alpha channel at the moment). - Does complex geometry waste much memory space? - Is an entity count of 1636 too high? (80% of it is vegetation, grass, flowers etc. -> Is there a good vegatation script out there that automatically places plants on certain textures / uneven terrain?)
Thanks very much - Rondidon
|
|
|
Re: Optimizing size of levels (memory issues)
[Re: Joey]
#357826
02/08/11 21:10
02/08/11 21:10
|
Joined: Aug 2002
Posts: 2,183 Germany, BaW�
Rondidon
OP
Expert
|
OP
Expert
Joined: Aug 2002
Posts: 2,183
Germany, BaW�
|
My system: Core 2 Quad Q6600 Geforce 8800 GTS 512MB 4GB Ram Windows 7 x64 Pro ------------------- From default.c : (memory)
- nx = nexus = i.e. file cache used by the current level.
- m = sys_memory = Virtual memory currently allocated by the engine for nexus, level, entities, and engine objects. - geo = level textures
- shd = d3d_texsmaps = Amount of video memory currently used for wmb shadow maps. Adding the d3d_tex.. variables gives the total sum of video memory currently used for the game. Due to swapping and compression, the total value can be remarkably higher than the amount of video memory available on the 3D card.
- ent = d3d_texskins = Amount of video memory currently used for level models. Adding the d3d_tex.. variables gives the total sum of video memory currently used for the game. Due to swapping and compression, the total value can be remarkably higher than the amount of video memory available on the 3D card.
- v = d3d_texfree = Indicates the amount of texture memory still available on the 3D card, in MB . Is also displayed in the statistics panel. Can be inaccurate, depending on the 3D card driver. The real amount available for 3D textures is less than the memory on the 3D card, due to screen and other buffers. The video memory normally available at game start is can be several 1000 MB on new 3D cards, but 30 MB or less on old cards (TNT2).
|
|
|
Re: Optimizing size of levels (memory issues)
[Re: Rondidon]
#357854
02/08/11 21:58
02/08/11 21:58
|
Joined: Apr 2005
Posts: 4,506 Germany
fogman
Expert
|
Expert
Joined: Apr 2005
Posts: 4,506
Germany
|
If you want to convert your model textures to DDS read on.
Maybe it helps, it will only work if your models have external textures. Even better: External textures with the same filetype, for example 24 bit tga.
Make a backup Use "HexEditor NEO" to search and replace "tga" or "pcx" or "bmp" in the mdl files with "dds". You can do it in a batch process. Convert your model textures to DDS. Copy them into the model folder. Voila.
Last edited by fogman; 02/08/11 22:00.
no science involved
|
|
|
Re: Optimizing size of levels (memory issues)
[Re: fogman]
#357874
02/08/11 22:19
02/08/11 22:19
|
Joined: Aug 2002
Posts: 2,183 Germany, BaW�
Rondidon
OP
Expert
|
OP
Expert
Joined: Aug 2002
Posts: 2,183
Germany, BaW�
|
Very, very interesting:
Does anybody remember the random E1513 bugs "Crash in SYS" that Larry_Laffer with IntenseX, the guys behind Maniac Mansion 3D and William with Project Silas discovered? I`ve got them, too, now. They only appear RANDOMLY when the sys_memory (the used memory by the engine) is above 512MB and many c_trace functions are running parallely (my vegetation script. IntenseX made use of many c_trace funtions, too). When the used memory is above 900MB the engine also crashes randomly on every second to fourth level_load with "out of memory" although I`ve got 4GB RAM. These crashes are absolutly random. Sometimes the levels load without any problems, sometimes not. Sometimes there are some heavy slowdowns, sometimes not. And all those problems only appear when the memory usage is above a certain value. Isn`t that interesting? IntenseX is dead because of those E1513s. Project Silas, although very optimized, has some trouble with E1005 and E1513s, too. It seems like most bigger projects reached that limit (look at the forum topics about e1005 and e1513). Hm..
|
|
|
Moderated by mk_1, Perro, rayp, Realspawn, Rei_Ayanami, rvL_eXile, Spirit, Superku, Tobias, TSG_Torsten, VeT
|