Game Development Community

Torque Game Engine Metrics by Version and Driver

by Britton LaRoche · 12/11/2008 (8:40 pm) · 11 comments

I'm picking up game development again. First task is to pick the version of Torque to use. Last year I did a lot of work upgrading the code base I have from TGE 1.3 to 1.5.1. Now I have a choice to stay with 1.5 or go with the latest TGEA 1.8 Beta, or perhaps the more stable TGEA 1.7.1. There are a lot of factors to consider. This blog is just looking at the performance of each by measuring the Frames Per Second.

The Test
I installed all the different versions of the TGE, opened the stronghold demo in 800 X 600 mode and recoded the highest and lowest frames per second. My video card is an NVIDIA e-GeForce 9800 GTX. I'm running windows XP with the latest open GL and directX drivers. Here are the results:

FYI TGEA 1.7.0 and 1.7.1 and do not support open gl. Version 1.8 Final will support Open GL, but its not in the 1.8 Beta yet.

The Resulting Metrics
----------------------------
TGE 1.5.2 Open GL      | FPS Low: 78  | High: 300 
TGE 1.5.2 DirectX      | FPS Low: 34  | High: 205 
TGEA 1.7.0 DirectX     | FPS Low: 107 | High: 478 
TGEA 1.7.1 DirectX     | FPS Low: 128 | High: 500 
TGEA 1.8 Beta DirectX  | FPS Low: 78  | High: 174

www.ampedlabs.com/files/stuff/tge.metrics.jpg
I looked at Buccaneers to see how the game performed and what they used. Since the game says it supports open gl I'm pretty sure its based off of the 1.8 Beta. It was awesome.

Naturally 1.8 beta (being a beta) had the worst FPS performance. Still, it made no difference in game play. I'm thinking the FPS for Beta 1.8 (78 to 174) is fine. I'm leaning toward 1.8 at the moment.

(To see the fps in your game type ~ to bring up the console. Then in the text area type metrics(fps); and hit enter. Press ~ again to remove the console. The FPS will be displayed in the upper left hand corner.)

#1
12/11/2008 (9:25 pm)
Interesting results. I knew that TGEa 1.7.0/1.7.1 performed much better than TGE 1.5.2 but to see such poor results (comparatively) for TGEa 1.8.b is kind of shocking.
#2
12/11/2008 (9:27 pm)
@Michael, I think the performance hit is due to the fact they are adding the open gl code back in.
#3
12/11/2008 (10:40 pm)
Wow...cool, thanks for doing this Britton!

I'm actually pretty impressed by the performance of the 1.8 beta. I didn't realize it was already that far along on the OpenGL side because there have been a ton of issues resolved since then. Definitely not much reason to go with TGE after seeing this, and there's still a lot of room for improvement. When 1.8 is released I expect on most hardware configurations it will out perform both 1.7.1 on the Direct X side, and anything else out there on the OpenGL side.
#4
12/11/2008 (11:07 pm)
Oh yeah, I definitely expect some improvement once 1.8 is a stable release, and I do realize that the results are still quite good - even for OpenGL - I had just assumed that it would still perform better than TGE regardless of graphics API. Especially with all of the highly touted "optimizations and improved GFX" layer.
#5
12/12/2008 (3:07 am)
Thanks for this Britton!
#6
12/12/2008 (3:22 am)
Is OpenGL even runnable on Win32 in TGEA? I know it's not recommended, and a lot of games that have OpenGL fallback on their DX renderer in Windows. Just curious.
#7
12/12/2008 (6:06 am)
And if you get tired typing metrics(fps) everytime you boot up TGE/A, you can have it automated by putting it in the client/scripts/serverconnection.cs file.

Just add it at the end of intialControlSet.
function GameConnection::initialControlSet(%this)
{
   echo ("*** Initial Control Object");

   // The first control object has been set by the server
   // and we are now ready to go.
   
   // first check if the editor is active
   if (!Editor::checkActiveLoadDone())
   {
      if (Canvas.getContent() != PlayGui.getId())
         Canvas.setContent(PlayGui);
   }

	[b]metrics(fps);[/b]

}

You'll cancel the metrics when you bring up the editor though.
#8
12/12/2008 (8:53 am)
@Stefan, you know the numbers for Open GL and DirectX look very close in Beta 1.8b. I'll have to uninstall DirectX to verify that it does not fall back to DirectX when I select Open GL. But the game did look different when I selected the Open GL driver.

Quote:a lot of games that have OpenGL fallback on their DX renderer in Windows

I was certain it was using Open GL till you brought this up. I tried once again to get this working with open gl. Here is the console log from TGEA 1.8 Beta

GLExtensions: Extension bind failed for glBufferRegionEnabledEXT
GLExtensions: Extension bind failed for glNewBufferRegionEXT
GLExtensions: Extension bind failed for glDeleteBufferRegionEXT
GLExtensions: Extension bind failed for glReadBufferRegionEXT
GLExtensions: Extension bind failed for glDrawBufferRegionEXT
GLExtensions: Extension bind failed for glVertexWeighthNV
GLExtensions: Extension bind failed for glVertexWeighthvNV
GFXInit::getAdapterTypeFromName - Invalid renderer name, defaulting to D3D9
Attempting to create GFX device: NVIDIA GeForce 9800 GTX/9800 GTX+ (D3D9)
GFXD3D9EnumTranslate: Unassigned value in GFXD3D9TextureFormat: 11
Device created, setting adapter and enumerating modes
GFXD3D9Device - using 'd3dx9_38.dll' for dynamic linking.

So you are right... when you select Open GL it fails back over to DirectX in TGEA 1.8 Beta. But that is the whole point of a Beta. I'm sure it will be fixed soon enough.
#9
12/12/2008 (10:47 am)
The Windows version of OpenGL is completely unusable so don't even bother (you won't even get correct GUIs).

In general it does look like we are trading a little bit of performance in TGEA 1.8 for features (constant buffers and stateblocks). You should see some performance increases with TGEA 1.8 Final (coming soon!) but we may not be able to get back all of the performance.

However, the early tests of Torque 3D are already showing some insane performance increases (600% in the T3D project with MegaTerrain) and we hope to keep ratcheting it up from there (on both lowend and highend machines).
#10
12/13/2008 (10:49 am)
@Matt, keep up the good work! The TGEA is awesome. Can you point me to the planned features list / road map for TGEA 1.8?
#11
12/13/2008 (7:42 pm)
Quote:I'm picking up game development again.

Glad to hear. Keep us posted.