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
----------------------------

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.)
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

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.)
#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
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.
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
Just add it at the end of intialControlSet.
You'll cancel the metrics when you bring up the editor though.
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
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
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.
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
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).
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?
Associate Michael Hall
Big Kid Games