Why I'm not moving to TGE 1.5 (yet)
by Funky Diver · 12/12/2006 (9:30 am) · 15 comments
The new TGE 1.5 looks quite good and promissing... on screenshots. Anyway, after testing it on old hardware, I was quite dissapointed about its performace with and without dynamic lightning: the average fps was about 4 with dynamic lightning on, and 15 fps without (TGE 1.5 demo). The hardware was Celeron 1.5Ghz, NVidia GForce4MX and Intel 945 integrated card. The TGE 1.5 demo is not that COMPLEX, and can be compared to an average scene from a game of any genre (amount of gfx, textures, polygons, etc). Seems like GG has a long way of polishing this one, and I wish it could happen soon ;)
Even my trusty X800GTO with 256Mb of memory (fresh drivers) cannot squeeze more then 50-60 fps from the demo, which is sad... and strange...
Here some statistics:
Video card market share (Winter 2006):
Intel with integrated cards - 40%
ATI - 22%
NVidia - 20%
Other - 18%
Just my $0.02...
Even my trusty X800GTO with 256Mb of memory (fresh drivers) cannot squeeze more then 50-60 fps from the demo, which is sad... and strange...
Here some statistics:
Video card market share (Winter 2006):
Intel with integrated cards - 40%
ATI - 22%
NVidia - 20%
Other - 18%
Just my $0.02...
#2
12/12/2006 (9:53 am)
I had the exact same problems with my ATI X1600. Very discouraging, especially if you look at the video card market statistics like you point out. It seems you need a high end system for a old school engine. :(
#3
I am currently working on some engine tweaks for TGB. And most of my game engine is written on C++, because scripts are too slow to handle a match-3 game with 25x25 board size :(
I promise that if I'll make something useful, I'll post it here :)
12/12/2006 (10:07 am)
Guys, you might be laughing, but I had almost the same problem with TGB on laptops with Celeron 1.6 processor. After digging into it a bit, I've found that the engine code is not optimized. It is well-written, object oriented, but not optimized at all. Especially in script parsing section. Just imagine - they store all variables as strings and use numerous atoi and itoa functions to make simple math operations!I am currently working on some engine tweaks for TGB. And most of my game engine is written on C++, because scripts are too slow to handle a match-3 game with 25x25 board size :(
I promise that if I'll make something useful, I'll post it here :)
#4
With the FPS Starter kit from 1.4.2 in 1.5, i can't see any difference.
12/12/2006 (10:21 am)
The Rain and Show effects (over 5000 particels with collision) in the FPS Starter kit using about 46,097% of the performace.With the FPS Starter kit from 1.4.2 in 1.5, i can't see any difference.
#5
I would agree that the engine ISNT optimal for modern hardware, but actually for older hardware it isnt that bad. It just needs some love from a good programmer to figure out WHERE to optimize. But as with anything, this is game specific. At least you have the source to go and fix anything thats really not working.
In the general case, TGE is absolutely fine. For a specific game, it might need some tweaks or even an overhaul for a specific case. It's really not right to expect the engine to do everything for you, if it doesnt work well enough for you game, then fix it. It clearly ran well enough for tribes 2, so it IS capable.
I'm not trying to dismiss your arguments, but I do feel that people's expectations of the engine arent in line with the reality of game development. I have no problems if you need help in getting the engine to work for your requirements, but just saying "it isnt fast enough" is too general.
12/12/2006 (10:35 am)
Cmon guys.. really. This is just optimisation. Do what Clark F did (hell, do a search for Clark's blog on optimisations he did for think tanks) and optimise for your specific game.I would agree that the engine ISNT optimal for modern hardware, but actually for older hardware it isnt that bad. It just needs some love from a good programmer to figure out WHERE to optimize. But as with anything, this is game specific. At least you have the source to go and fix anything thats really not working.
In the general case, TGE is absolutely fine. For a specific game, it might need some tweaks or even an overhaul for a specific case. It's really not right to expect the engine to do everything for you, if it doesnt work well enough for you game, then fix it. It clearly ran well enough for tribes 2, so it IS capable.
I'm not trying to dismiss your arguments, but I do feel that people's expectations of the engine arent in line with the reality of game development. I have no problems if you need help in getting the engine to work for your requirements, but just saying "it isnt fast enough" is too general.
#6
Gary (-;
12/12/2006 (10:50 am)
Martin: Actually, 5000 particles is just one of the weather effects, there's another 1000 in another one. And yes, that occupies most of my CPU too.Gary (-;
#7
12/12/2006 (10:50 am)
Interesting read. Thanks for sharing.
#8
12/12/2006 (11:14 am)
Martin \"d4rkm4r3\" Busse is right, try 1.5 demo with 1.4.2 fps starter kit. At least in a mac, I get better frame rates in 1.5.
#9
It's unfortunate that the 1.5 demo went out unoptimized, however 1.4 would see the same performance running that mission feature for feature.
12/12/2006 (12:12 pm)
You'll find TGE 1.4 and 1.5 performance nearly identical when comparing the same missions.It's unfortunate that the 1.5 demo went out unoptimized, however 1.4 would see the same performance running that mission feature for feature.
#10
But Phil... I understand your point, but i don't think its a 100% valid dismissial of the situation.
The engine is marketed to Indy, and BEGINNERS.
Beginners to scripting.
Beginners to C++.
Beginners to art creation.
If the demo is having so many FPS issues, then its not really a stable platform to learn on is it?
Please keep in mind, not everyone that uses Torque has a background in computer science...
2c
12/12/2006 (12:36 pm)
I haven't seen this slowdowns, but have a heavy rig.But Phil... I understand your point, but i don't think its a 100% valid dismissial of the situation.
The engine is marketed to Indy, and BEGINNERS.
Beginners to scripting.
Beginners to C++.
Beginners to art creation.
If the demo is having so many FPS issues, then its not really a stable platform to learn on is it?
Please keep in mind, not everyone that uses Torque has a background in computer science...
2c
#11
The integrated chipset's simply where not designed for gamer use. They are designed for office where you deploy large numbers of client pc's for office automation applications that are not 3d intensive.
12/12/2006 (1:08 pm)
The human eye does not need or read super fast framerate. That MX chipset was more of a transitional piece of hardware (obsolete big time). The X800 with 50 fps? What's wrong with that?The integrated chipset's simply where not designed for gamer use. They are designed for office where you deploy large numbers of client pc's for office automation applications that are not 3d intensive.
#12
And that's why the demo is the way it is. Yeah, that's it. ;) hehe...
Anyway, the blog Phil mentioned: www.garagegames.com/blogs/6452/3730
Though for 1.5 it sounds like the thing to do for older cards is turn off the weather effects...
12/12/2006 (1:16 pm)
Everyone needs to learn that there are constraints to how big they can make their missions. It's better for beginners to learn this up front than to go on not knowing anything about optimization and plan something that is way out of scope for performance. And that's why the demo is the way it is. Yeah, that's it. ;) hehe...
Anyway, the blog Phil mentioned: www.garagegames.com/blogs/6452/3730
Though for 1.5 it sounds like the thing to do for older cards is turn off the weather effects...
#13
profilerEnable(1);
profilerDump();
It's not the rendering of the particles, most time is used in the collision decetion for each particle. (ContainerCastRay)
I change the heavy show to numDrops=500; boxWidth=100, boxHeight=100 and doCollision=OFF. Works fine for me. :-) (No Rain)
12/12/2006 (1:34 pm)
use:profilerEnable(1);
profilerDump();
It's not the rendering of the particles, most time is used in the collision decetion for each particle. (ContainerCastRay)
I change the heavy show to numDrops=500; boxWidth=100, boxHeight=100 and doCollision=OFF. Works fine for me. :-) (No Rain)
#14
In fact, what I should have said was.. "get think tanks, run it on the same machine, if it doesnt perform well THEN I think its an issue".
The work Clark did on think tanks is what any rational developer would do.
12/12/2006 (1:41 pm)
Thanks Mark,In fact, what I should have said was.. "get think tanks, run it on the same machine, if it doesnt perform well THEN I think its an issue".
The work Clark did on think tanks is what any rational developer would do.
#15
What you say about not being able to perceive high framerates is true, the people who argue the difference between 150fps and 180fps are being wankers. That said, there is a noticable difference (especially in FPS style games) up to about 80fps. My problem with an X800 getting 50fps is that it is a relatively new card and TGE (as much as I think it's god's gift to the game developer) is not exactly a cutting edge engine. I had a system with a 9600 that would easily get 80-90fps in HL2 and so forth, That's an older card getting a better framerate in more cutting edge engine. True HL2 is an engine which is is optimised for FPS, but that brings me to my second point.
Firstly I agree with Mr Bloodworth that TGE is marketed to beginners/indies who usually don't have the skills to optimise an engine. I know that I still have trouble understanding the engine, letalone how to optimise it. Secondly, I had a look at the optimisations for thinktanks and while some of them are obviously game specific, many of them seem to be related to the rendering and graphics, which I wouldn't have thought are game specific. Basically surely there is more optimisation which could have been done to get decent framerates without sacrificing the 'genericness' of the engine...
12/13/2006 (4:37 am)
Randy: "The X800 with 50 fps? What's wrong with that?" What you say about not being able to perceive high framerates is true, the people who argue the difference between 150fps and 180fps are being wankers. That said, there is a noticable difference (especially in FPS style games) up to about 80fps. My problem with an X800 getting 50fps is that it is a relatively new card and TGE (as much as I think it's god's gift to the game developer) is not exactly a cutting edge engine. I had a system with a 9600 that would easily get 80-90fps in HL2 and so forth, That's an older card getting a better framerate in more cutting edge engine. True HL2 is an engine which is is optimised for FPS, but that brings me to my second point.
Firstly I agree with Mr Bloodworth that TGE is marketed to beginners/indies who usually don't have the skills to optimise an engine. I know that I still have trouble understanding the engine, letalone how to optimise it. Secondly, I had a look at the optimisations for thinktanks and while some of them are obviously game specific, many of them seem to be related to the rendering and graphics, which I wouldn't have thought are game specific. Basically surely there is more optimisation which could have been done to get decent framerates without sacrificing the 'genericness' of the engine...

Torque Owner Dreamer
Default Studio Name
Or even maybe just turning on the profiler.
Yeah framerates suck in 1.5 out of the box, but it shouldn't be too hard to fix :D
Regards,
Dreamer