LOD?
hi,
I have a huge outside level that is using a lot of fps when the camera is looking where there is alot of models.
I know LOD's can help to do the job, to increase fps, but I have so many models that I just want to know if theres another way to increase fps than to make lower poly models with _1 _2 _3 _4 etc.
Another thing is that my models should not have a lot of poly... I'm using simple cubes with skin to make a building... then when I look at the city, it lags very hard...
Any ideas?
Thanks!
LOD would have very little impact if you have 500+ visible models. I've done benchmarking experiments and found that, for 1000 visible entities, the frame rate is unbearable, even if just 3 vertices, 1 triangle each. What you need to do is combine your models so that they are between 2000 and 5000 polygons each for the best performance and greatest detail. In theory, my city world, of which has nearly 2400 buildings, could still render faster than 100 fps and I wasn't using LOD (but rather over 20,000 polygons and vertices - a bad thing to be doing).

This logarithmic graph tells how the frame rate is for the number of polygons against the rendering rate.
Very interesting, but i have some difficulties to understand... It started to Lag at 30 buildings... imagine now... Any suggestions for me?
Just 30? Although you should still be getting over 100 fps, the only two things I can come up with is that fps_max is rather low, or your buildings are high-poly. For 64 buildings at 10 polygons each, you should, theoretically, be getting at least 100 fps. Can you post a screenshot showing the debug panel? What is your frame rate (and other specs) when this occurs?
how do i access to this debug panel? sorry for this question -_-
When you start up the game, press the F11 key. The debug panel shows positions, visible entities, and many other useful things that can help. As for taking the screenshots, just upload the PNG, or JPG file to some place like imageshack or photobucket.
here it is
Posted By: Rad_Daddy
Re: LOD? - 06/18/06 04:34
out of curiosity, have you changed the nexus at all? I have expierenced FPS increases when I increas the nexus.
Quote:
out of curiosity, have you changed the nexus at all? I have expierenced FPS increases when I increas the nexus.
Increasing nexus is not supposed to increase FPS I think...
I've got an idea...
Most of my models are concentrated in the city of my outdoor level. Maybe I should do something like a kind of fog, that just hide smoothly the models when they are at X distance of the camera?
What do you think?
See that building with all the red lines half way to the right from the center? That's the problem. Avoid using blocks - look how long it takes to render geometry. Level geometry is *extremely slow*. Without using LOD, and applying my latest knowledge, my level shown here:

There are at least 800 buildings visible here (but actually renders as all 2388 as it takes just one visible polygon of a model for the entire thing to be rendered). Despite lacking the roof tops, I'm getting 28 fps in this. Theoretically, I should be able to get over 120 fps with this same view. The water shown uses about 8000 polygons or so, there are 50 separate entities for the platforms visible, the beach (an MDL terrain) is about 3000 polygons, and the clouds flowing overhead use about 8000 polygons (of which could be reduced to just 2 with tiled textures, of which wasn't directly possible in 6.31). This doesn't use LOD at all and the level is poorly designed. My video card's drivers aren't updated (and still aren't), and I'm still getting over 20 fps, of which is still bearable (30 fps is the recommended absolute minimum). All this, and only one block is present, of which is invisible. The level needs to be redesigned and combined with LOD, getting 150 fps with the whole level in view is theoretically possible. If only MED would get straighted out and included the two features I despirately need, I could get going on it.
In short, avoid level geometry - it's painfully slow. Plus, model-only levels have near-instant build times (like 1/2 second of actual building). I have more experiments in order to fully process benchmarking tests to greatly optimize the game.
All right, I'll try something and post back
edit: By saying models only, can level entity be some of those models?
Anything using WED blocks will cause a radical slow down, even map entities that contain any block. Of course, a map entity could contain MDL models. HMP and MDL files have the very fastest of rendering speeds. Plus, they allow for much more flexibility in shape, design, structure, and they are dozens of times faster at rendering. MDL terrains are better than HMP terrains in that they support far more flexibility in shape, sometimes even a faster frame rate (depending on the design). MDL rocks!
Ok so my problems should be my roads ? (i'm using simple blocks for the roads and a big block for the ground.
Anything using blocks causes a big slow down. Blocks render very slowly. If using a big block, the effect is just as bad as several smaller ones. It makes little difference if using simple cubes or octagonal cylinders. As long as it's a block, it'll cause a big slow down. Blocks should only be used for indoor levels, although they can be for any setting. Blocks create portals to help speed things up, but for vast, ourdoor levels, portals have little or no effect. Plus, with a model-only level, the time needed to build the level is practically instantaneous. That whole city level shown in my screenshot, takes but a half second to build, probably not even that. The only slow down is WED - try loading a model with 60,000 faces once and time how long it takes to load. It can take at least a minute. The fix is to build the level up from scripting it and ent_creating the entire level.
by ent_creating the models, I have to put their coordinates (X Y Z). Maybe it's faster to compile, but it's 20x longer to script!
Using ent_create doesn't take all that long to script as it is, except to nonscripters. You can use WED to help judge the positions and use some debug system to more convieniently set positions.
Before doing all of this,I tested something... :
Removed all the blocks to keep only the models. I used a simple "walk through" movement and its still getting fps drops when I look where all the models are. So the models are still the problem I think... Maybe it's my computer? For a hundred low poly models, how many RAM should I have, and what should be my other specs?
Thanks again.
I can't tell from your screenshot how many entities you have, but given your description, you have too many. Merge multiple entities into one single entity and the problem should otherwise go away. Rather than 8 low-detail buildings, merge them into a single model file instead. Also, having multiple skins per model shown at once will also cause a slow down. Merge the vertices as well as vertices have a huge impact on the frame rate. I've proven that, if you swap the vertex and poly counts, the one where the vertex count is higher takes twice as long to render than does the one with the poly count being higher.
What are your system specs and what is your nexus setting? If you only have 256 MB memory (like a typical budget system would have) and have the nexus at 64, you're almost certainly going to have problems with speed.
Ok I think we found the problem... I've only got 128MB of ram... Should I Continue creating my level, and then work more when I'll get my new computer in 2 weeks? (I will have minimum 1GB of RAM) Or should I Mix some buildings in one model like you said?
128 MB of RAM!? That certainly would explain some of the problem. With so little RAM available, swap file is being used, which uses the hard drive, a very slow component, and thus the likely cause. Although blocks and a high entity count (visible entities) do have a considerable effect, having just 128 MB of RAM is a bigger cause for concern. With that small amount, you're likely going to need to add more RAM.
When the computer is out of memory or low on memory, excess goes to swap file, stored in a special area of the hard drive. Active programs take greater priority of the memory so they run more efficiently but if there isn't enough memory for the program to run properly, you'll constantly notice lags because old stuff in memory is being written on the hard drive and stuff now needed is being read off the hard drive, both of which are slow operations. For game design, you should have no less than 512 MB of RAM, 1 GB recommended minimum.
Aight, I'll post back with my new computer

thanks again, your posts are very usefull for game optimizing.