Performance Tricks with Torque3D
by Necrode · in Torque 3D Professional · 11/05/2009 (10:39 pm) · 6 replies
I am wonder what kinds dirty tricks can be done to improve performance of T3D in advanced lighting mode. I've noticed that whenever you move it seems to recalculate the lights. Fair enough, but is possible to only calculate once (pseudo-baking?).
Are there any lighting settings which particularly affect performance?
Peace
Are there any lighting settings which particularly affect performance?
Peace
About the author
They locked me in here with a computer, and said I don't get to leave until I've completed a computer game.
#2
Turning off shadows will give a boost ... but without dynamic shadows you might as well be using Basic Lighting. Also avoiding relection on water helps.
11/06/2009 (12:27 am)
Or disable Aero ... first thing I turned off when I got Vista.Turning off shadows will give a boost ... but without dynamic shadows you might as well be using Basic Lighting. Also avoiding relection on water helps.
#3
The main thing is to be careful with your draw calls. If you do a metrics(gfx) in the console you'll get a readout on how many draw calls are going to the video card... much more than 2000-3000 and your framerate will be toast in any engine.
Forward renderers give you more leeway to be lazy and not make LODs for your meshes. Deferred renderers... especially ones on DX9... do not.
Use the LODs and auto billboard features in DTS and focus on getting your meshes down to a single draw call as quick as possible. Billboards are even better as it can often render many different instances of a mesh in one call.
If your using a PSSM sun shadow consider bringing in the shadow distance and/or going to 3 splits instead of 4. Often people aim to get shadows out for 2-4KM... in reality AAA games don't often do that. Look at Crysis which has dyanamic shadows for like 1000 meters and FarCry 2 which seems even closer.
We're looking at some instancing functionality, but it won't make it into 1.1 i don't think.
DX11 is our next big wish list task as it allows for multicore rendering.
11/06/2009 (1:16 am)
We're actively working on improvements in various areas in AL and 1.1 is alot better than 1.0.The main thing is to be careful with your draw calls. If you do a metrics(gfx) in the console you'll get a readout on how many draw calls are going to the video card... much more than 2000-3000 and your framerate will be toast in any engine.
Forward renderers give you more leeway to be lazy and not make LODs for your meshes. Deferred renderers... especially ones on DX9... do not.
Use the LODs and auto billboard features in DTS and focus on getting your meshes down to a single draw call as quick as possible. Billboards are even better as it can often render many different instances of a mesh in one call.
If your using a PSSM sun shadow consider bringing in the shadow distance and/or going to 3 splits instead of 4. Often people aim to get shadows out for 2-4KM... in reality AAA games don't often do that. Look at Crysis which has dyanamic shadows for like 1000 meters and FarCry 2 which seems even closer.
We're looking at some instancing functionality, but it won't make it into 1.1 i don't think.
DX11 is our next big wish list task as it allows for multicore rendering.
#4
Last night I went nutz and made a pretty dense outdoor scene and when I used metrics(gfx) my draw count was 13k.
I then did metrics(fps) and my framerate in window was 22 and my framerate in fullscreen was 35.
Today I redid the entire scene w/ the metrics(gfx) count up in the World Editor and now the max I have seen is 2692 draw calls. In the game its the same metric.
When I calculate my FPS in window mode I'm still at 22 and fullscreen I'm at 35.
I have tested this on my main machine (i7 920 w/ 2 nVidia 260s in SLI) w/ these values:
- 13k Draw calls
Window Mode (1920x1200)= ~20fps
Full Screen (2560x1600) = ~35fps
- 3k Draw calls
Window Mode (1920x1200) = ~20fps
Full Screen (2560x1600) = ~35fps
I have also tested this on my laptop (i7 920 w/ ATI Radeon Mobility 4670) w/ these values:
- 13k Draw calls
Window Mode (1280x720) = ~12fps
Full Screen (1920x1080) = ~22fps
- 3k Draw calls
Window Mode (1280x720) = ~15fps
Full Screen (1920x1080) = ~25fps
So I am really curious... why am I seeing absolutely no difference?
Thanks!
PAR
03/01/2010 (8:41 pm)
So we're using Alpha 1.1.Last night I went nutz and made a pretty dense outdoor scene and when I used metrics(gfx) my draw count was 13k.
I then did metrics(fps) and my framerate in window was 22 and my framerate in fullscreen was 35.
Today I redid the entire scene w/ the metrics(gfx) count up in the World Editor and now the max I have seen is 2692 draw calls. In the game its the same metric.
When I calculate my FPS in window mode I'm still at 22 and fullscreen I'm at 35.
I have tested this on my main machine (i7 920 w/ 2 nVidia 260s in SLI) w/ these values:
- 13k Draw calls
Window Mode (1920x1200)= ~20fps
Full Screen (2560x1600) = ~35fps
- 3k Draw calls
Window Mode (1920x1200) = ~20fps
Full Screen (2560x1600) = ~35fps
I have also tested this on my laptop (i7 920 w/ ATI Radeon Mobility 4670) w/ these values:
- 13k Draw calls
Window Mode (1280x720) = ~12fps
Full Screen (1920x1080) = ~22fps
- 3k Draw calls
Window Mode (1280x720) = ~15fps
Full Screen (1920x1080) = ~25fps
So I am really curious... why am I seeing absolutely no difference?
Thanks!
PAR
#5
Still 13K draw calls is unrealistic for a modern game. Crysis kept things to 2K draw calls... i've heard 3k max for a modern game.
03/02/2010 (10:48 am)
Quote:So I am really curious... why am I seeing absolutely no difference?If your resize your game window to a lower resolution does your framerate come up? If so... your fillrate limited. This is when your video card cannot draw pixels fast enough to keep up with the CPU.
Still 13K draw calls is unrealistic for a modern game. Crysis kept things to 2K draw calls... i've heard 3k max for a modern game.
#6
03/02/2010 (2:23 pm)
Talking of drawcalls, I've just repackaged my AI's textures from being split up between multiple textures (but small sized to keep texture memory down) into a larger single image and have seen a reduction in 1500 drawcalls per 25 AI on screen. (and a very small but always welcome rise in fps).
Torque 3D Owner Joshua Halls (Xerves)
A lot of it beyond that really depends on the size of the terrain, the visible distance set in the level info, and how well you LOD your models. Also, if you are using Vista try it in full screen. Vista eats up a bit of performance while in windowed because of Aero and whatever else they changed between XP and Vista.