Game Development Community

T3D Slow Performance

by Demolishun · in Torque 3D Professional · 02/27/2012 (10:53 pm) · 10 replies

Computer Specs:
Dual 2 GHz Processor (P4 I believe)
NVidia GeForce 7600 GS 512MB RAM
4GB Memory
Windows 7 Ultimate
Latest version of PhysX and DirectX 11

I did the default install of the SDK to see how it would run on this machine. I had to reduce the specs to lowest on all categories and reduce the resolution to 800x600 to actually be able to run around with a semi decent feel to the movement. I did not recompile the engine, so it is running whatever was shipped. I don't know if that is a release compile or debug.

There are also graphics artifacts such as white splotches. All the demos look strange and have over white at different angles. I am not sure how else to describe that effect. I am typing this from my machine that runs T3D 1.2 just fine. I am however, concerned about the specs of the machine needed to actually run T3D now. The min specs in the docs state NVidia 7300 / 6600. After running it on a 7600 GS I would question those specs as being able to run T3D 1.2.

The machine with the 7600 runs HL2 EP2 very well at all resolutions up to 1920x1080 (tv resolution I am using). Yes, I know they don't use the latest and greatest tech in Source. It is just a visually very nice engine that I am familiar with.

Some questions that may help:
1. Is there a way to force running different DX versions from the command line? Like making sure it is actually running at DX 9 versus DX 11.
2. Are there performance issues with the default shaders?
3. Could this partly be a performance issue with the script portion of the engine? I know that someone here is converting to C# from TS and they are seeing performance gains. My guess is that this is not a factor once objects are loaded, however.

About the author

I love programming, I love programming things that go click, whirr, boom. For organized T3D Links visit: http://demolishun.com/?page_id=67


#1
02/28/2012 (6:41 am)
The only thing I can see that might help (aside from ensuring that your system is clean and up to date) is that video card. A gigabyte of vram is the minimum I would suggest because most of our art assets use fairly high resolution texture files.

As a test, get some art assets that use smaller textures and see how it goes. Or, try some of the tools in the first post in this thread to check your video memory usage during a run of the stock install - they might confirm my guess.

I've seen missing textures and really choppy performance vanish when moving from a 512MB video card to a 1GB card with the stock assets.
#2
02/28/2012 (7:45 am)
@Frank,

Make sure you delete all of your procedural shaders.
drive:\game\shaders\procedural

I've found that bad shaders can really crap out a system.
#3
02/28/2012 (8:01 am)
@Richard,
The minimum specs don't say 1 GB video memory. I agree that textures can really make a huge difference. I also reduced the texture detail to lowest in the settings to get it playable. However, many other games like Oblivion with big textures loaded do not bog down that card. I am wondering if the minimum specs GG shows should be increased.

Also, why would it have a white splotch on the screen in many places on that card (7600), but not show them on a ENGTX460?

What I will need to do is create a bare minimum level with my own art assets to determine the bottlenecks on performance. I would shoot for playability versus high res.

@Vince,
I will try deleting the procedural shaders. A lot of the shaders in the default demos really bug me: the heat blur, and the sun wash one. Not sure what they are actually called.
#4
03/02/2012 (12:40 pm)
<shrug> I'm just saying that I know from personal empirical observation that reducing asset sizes, particularly textures, improves performance dramatically. Additionally, many of the stock assets use .jpg or .png images instead of .dds which is far more optimized for modern GPUs. I'm pretty sure Oblivion doesn't ship with .jpg textures. While it's convenient that the engine supports more general image formats as textures, it can cause problems.

For cleaning out the shaders, there is a file called cleanShaders.bat in your project folder - it will wipe out the ShaderGen generated shaders (basically .dso's, but shaders) so that the system will generate new ones for your system.

As for why one card performs differently from another card... well, only the engineers who designed the hardware can tell you what decisions they made and why. I've seen some cards show the NoTexture orange texture as if images were missing on one card and I've seen the same level display those "missing" textures but display others as white (silver reflective once) on another machine. How each card handles problems is entirely hardware and driver dependent.

Of course, this is all academic. I would ask Dusty Monk about performance issues that he might have run into when developing Atomic City Adventures. It looks like he put the engine and Arcane FX through the paces and the requirements posted on Impulse are pretty meager:
Microsoft Windows Vista / 7
1 GB Available System Memroy
Video Card with Pixel Shader 2.0 Support (or Greater)
1.4 GB Available Hard Drive Space
#5
03/02/2012 (1:02 pm)
@Frank
Something to keep in mind with the minimum requirements is that also implies lowest settings as well. It's absolute minimum for the engine to run.

As for the card, the GS cards are typically a slightly gimped version of their GT big brothers and don't have the full capabilities that GT's do. You may see performance drops because of this at times when you don't expect there to be any.
#6
03/02/2012 (1:45 pm)
@Richard,
I kind of figured a shipping game would have figured a lot of this out. That is good to see what someone was able to achieve.

@Scott,
I know it is a gimpy card compared to others. However, the gimpiest card it can run on is one more potential sale. If they cannot run it unless they have a $200 card card then it is less market penetration. So getting a feel for what can be done is what I am looking at.

@Richard and Scott,
Thanks for the additional info. This is really helping me understand the issues with the performance. As I get more questions I will ask more. So far this is really nailing down the performance issues for myself.
#7
03/02/2012 (10:15 pm)
Aw, now - around Vegas you can find 1 GB cards in the $90 ~ $120 range. I'm running a 1GB Radeon HD 6750 that cost me $125 at Fry's....

The bigger worry is the mobile chipsets - those things are wildly different in performance and feature set....
#8
03/03/2012 (6:14 am)
The stock demos such as Pacific etc, are made for visuals not performance. Having said that, Chinatown is also a little bloaty in this respect.

Use the GFX metrics and look at the polycount and drawcalls, much higher than you'd expect in a finshed game. These levels were initially developed without performance as a consideration and then "retro-engineered" to be playable for wider consumption.

Also a 7600 is a really terrible card (I used to have a 7900, upgraded to GTS250, still have drop mesh quality setting to low for reasonable fps on both Pacific and Chinatown).

Having said that, my old (and quite large) custom FPS project, I've had run on an Intel laptop at perfectly playable rates with all settings on lowest. I've also had T3D run on very poor equipment, well below GG's recommended minimum specs (Intel G965!) - it ran, but wasn't very playable.

Build your game for performance and you'll get it.
#9
03/03/2012 (8:51 am)
I found the white blotches is a terrain rendering glitch. I went in to the spots where it was creating the artifact and slightly modified the terrain and it went away. The rest of the terrain looks fine. So I would guess that this is a chipset bug as I never saw that glitch with my GX460.

@Steve,
The 7600 runs the entire HL2 series just fine. A little bit older game, yes, but it has great visuals.

Also, I am not running the Chinatown or Pacific demos. I am running the Mars demo missions that hardly have anything in them.
#10
03/10/2012 (5:13 am)
T3d 1.2 Performance not good....This is determined.
I hope GG Improve