View Single Post
Old 12-17-07, 10:34 PM   #9
call me Nano
Nanosuitguy's Avatar
Join Date: Sep 2007
Posts: 517
Send a message via MSN to Nanosuitguy
Default Re: Draw distance really sucks... do this! *pics included*

Interesting, it dropped down that much? I am amazed lol.. I think its the LOD settings that is the fps thiev here. Let me look at it... I should mention that reason that there was no majore performance loss when adding AF is that The lockup type used on the textures when POM is enabled doesn't support AF at this time. I mailed crytek about it and they said that they should look into this issue and discuss if it would be added to a patch. For now i prefer AF and sharp mid and long range textures infront of massive parallax mapping. Good thing that even without POM there is already a pretty good parallax mapping, so i dont really miss POM there, great if they could fix it so we can use both thoo... we'll just have to wait and see..

Yes i am aware of the texture streaming thing, just disabled it so it would be totally "original" then it looks more dramatic in the comparision shots too...

Now can you please tell me what to do next, i added -dx9 to my crysis shortcut in vista, but what shall i change to get the same quality as dx10 veryhigh but in actual dx9? for better performance...

Edit, i think i found the thiev.. its e_lods = 0 You want to have this on 1, or just remove this command as its on 1 as default...

Madboris is the shiiet, heres some goodies worth reading through to get a better understanding;

Level of detail. Providing levels of detail is very important for performance. It transitions the quality of textures, objects and trees to lower quality the farther into the distance that they are. To render things in the distance at full quality, when you don’t even have the pixels on your monitor in a square few millimeters to actually properly show it on screen, would be very wasteful. Why render a barrel at full quality with textures a kilometer away if it will only be two pixels high on your monitor. To do that would affect performance seriously without any benefit. Crysis implements Lod’s very well, not the distance per se which can benefit from some tweaking, but the quality of lower level LOD’s looks quite acceptable at a distance. So they are definitely good to use. Certain objects have a preset amount of LOD’s, like shadow maps have 5 LOD’s. So for a given LOD view distance of say 100 meters, it would transition to the next LOD every 20 meters.
e_lods – This setting tells the game to use LOD’s, it’s the master setting to enable or disable them for objects. If you set it to 0 in the console you will see an example of full detail on 3d objects in your current view distance (stones, textures, buildings, terrain). So if you had a view distance (next section) set to see barrels a mile away, setting this to 0 would render them at full quality (very wasteful). It’s a good exercise to see the effects of LOD and to disable this to 0, but we definitely want to use LOD, so this should be left to 1 for your gaming time.
e_lod_min - Min LOD for objects. You will come across settings of min and max on various settings so I use this as an example. This particular min setting is of objects, mostly certain large rocks, certain cliffs and trees a bit (not the small/medium rocks on the beaches). This setting is set to 0 by default. Think of 0 as closest to you and 0 being best quality. This setting works in concert with max.
e_lod_max – Max LOD for objects. Max sets the outer amount of LOD transitions, in this case mostly the quality of rocks in the ocean and certain rock cliffs as objects. It’s set to 6 by default. So what these settings do together is take a specified length of view distance, and divide it up into 7 LOD transitions, 0 being best, 6 being lowest quality. So as an example if you could see a rock popping out of the ocean at 70 meters max view distance, every ten meters you get closer to it then it will transition to a better LOD. As I understand it, these settings work along with a culling view distance. So if you changed the max from 6 to 4 then there would only be 5 transitions instead of 7 for the given distance, with the last two lowest quality not used. As I mentioned the quality of the LOD’s is real good, especially on objects so not rendering every brick on a building at half a mile is a good thing. Not sure much needs to be done with this setting particularly but that is how min/max works with LOD’s.

This is how far you can see something (profound). Sometimes this may be a value in meters or in some other world units. A couple examples…
e_detail_materials_view_dist_xy – This determines how far you will see materials in the distance like mountain tops and certain rocky cliffs. I prefer 4096 or even 8192 to see the distant mountains. Reducing this to 0 shows exactly what it effects.
e_cull_veg_activation – View limit on where procedural trees are culled. (70 is a good step up)
r_detaildistance – works with with view distance on showing r_detailnumlayers.

Ratios are great. They serve as a multiplier for many settings simultaneously. The beauty is with ratios that the way things cull into the distance is already done for you pretty well. In other words, you won’t see bushes a 100 meters ahead, but trees at only 50. Everything is pretty well balanced for you. So changing the multiplier(ratio) changes everything under the control of that ratio by a factor. In most cases, ratios are the settings to focus on.
e_view_dist_ratio – Setting this to 0 removes all the objects that this setting controls, so it immediately shows you which objects this controls exactly. It controls view distance on rocks in the ocean and every human object(buildings, boxes, barrels, docks, everything showing a remnant a human exists in the world (except vehicles).
e_view_dist_ratio_vegetation – This setting is great, it’s one of my favorite. Also try setting this to 0, as it will show you exactly what it affects. You will see a barren wasteland at 0 but this barren wasteland is also a great tip in working on seeing your terrain tweaks later on (next section). This ratio serves as a distance multiplier for all vegetation and includes small/medium sized rocks on the beach. The other objects like big rocks in water, some cliff faces and all human objects are unaffected, they are controlled by the previous setting. So between the above two settings we cover everything in the world except terrain, textures, vehicles and players.
e_lod_ratio – The ratio of LOD distance transitions. This affects the distance of LOD transitions on the objects that e_view_dist_ratio actually controls(rocks in the ocean and every human object). It is a ratio so it will work as a multiplier on many objects making certain human objects look better at short/medium distances. 6 is default and is ok, but 10 is better and only effects fps by a meager few percent from 6 to 10. The more objects in view, the more effect this will have. LOD any higher on far distant objects which cannot be properly seen would just take away performance. 6 or 8 may be sufficient for many people because as mentioned LOD’s are pretty good so go ahead and see what you think.

Terrain and Textures -
This has to do with terrain on beaches, mountain sides, etc. Also textures on rocks and other objects in the world. It is suggested you remove vegetation when trying to see what this effects below. e_view_dist_ratio and …_vegetation to 0 will give you excellent view of terrain textures.
e_terrain_lod_ratio – This is set to 1 by default. If you want to see full LOD of the type of terrain this affects try 0 (prepare for triangles/sec x 5). On the other hand try 50 for the low LOD. Disabling ‘e_view_dist_ratio’ and ‘_vegetation’ will really help to see what this does by removing all vegetation and objects. 1 is actually pretty good, you can get away with .8 but in all fairness 1 looks pretty good. Raise this to 1.5 - 2 to get more fill rate performance.
e_terrain_texture_lod_ratio - Terrain texture LOD. Considering that it's covered by vegetation and anything in the far distance is only a few pixels anyway, this doesn't make sense to go any lower than .7. Remove all vegetation first to see it’s real visual effects. Setting it to 0 shows full LOD. Raise it above 1 for more performance.
e_view_dist_custom_ratio - View distance ratio for special marked objects (Players, enemies, Vehicles). It does not work at runtime in console, requires level restart.
r_TexturesStreaming - Setting this to 0 had a profound effect on some textures in the game, especially mountains. Apparently this disables streaming which will rely more on your video card memory. Also this setting should be at the end of a config file because it can be turned on automatically by other settings being adjusted.
r_TexAtlasSize – is simply a way textures are combined together. 2048 is preferred for high end.

Sprites & vegetation –
Sprites have been around for ever. They are basically 2D objects in the distance that transition into low LOD 3d objects as you get closer to them.
e_vegetation_sprites_distance_ratio – Turning this to 0 turns everything into a sprite. Since this is a ratio it turns everything into 3d at different distances. 1.7 is decent but this setting has a lot of effect on performance.
e_vegetation_sprites_distance_custom_ratio_min – 1 is a good default. 2 shows a lot more 3d objects, but at their poor LOD in the distance, sprites are probably preferred. We don’t have the power to render more trees at higher ranges and LOD’s so 1 is good. This is just here as an example of distance ratios.
r_VegetationSpritesTexRes – This determines the resolution of the sprites. Setting this from 64 to 128 increases sprites quality in the distance. To prevent sprites popping, I suggest raising the sprites buffer to r_DynTexAtlasSpritesMaxSize = 32 with it.
Nanosuitguy is offline   Reply With Quote