Game Development Community

T3D GPU friendly for mid to low end hardware

by pilotcap232 · in Torque 3D Professional · 10/05/2012 (1:50 pm) · 22 replies

Need some advice,

my target audience is for mid to low end hardware. pretty much general population. not just hardcore graphics demanding gamers.

so wanted to see if there is a way to mod T3D to lower its GPU requirements.

I know graphics quality must hurt a little, but i can live with that and can do some tweaks to make those graphics look good..

so besides tweaking the existing graphics option to all the way down to low, plus use basic lighting, vertical sync etc.. all dialed down from what stock option offers.

is there a way to do some back end mods to make this happen? ie: source mods

has anyone done this before, or this is even just impossible?

please, your suggestions are welcome, since need to know if this is even possible.

my main focus is to reduce the stress on the GPU, to not to overheat at high res windowed modes, do not want the middle to low end GPU fans to take off like a helicopter

I have noticed in a clean fresh empty project with nothing but a plane the gpu still sizzles in high res windowed mode in low settings, vsync, etc...., anything above 1024 x 768 windowed res the gpu wants to take off, but below that is just steady smooth almost to idle

why is that?



any pointers, suggestions that can help me reduce this or make it more GPU friendly to mid to low end hardware will be greatly appreciated

thanks in advanced
Page «Previous 1 2
#1
10/05/2012 (8:49 pm)
try with basic lighting sttings
#2
10/05/2012 (10:00 pm)
Get rid of shaders.
Lower the polygon count on objects.
Use smaller textures.
#3
10/05/2012 (10:37 pm)
the thing is that this is a test on a brand new fresh empty project.

no models, no textures, no shaders, no terrain, no skybox or scattered sky,
no sun, practically just a very, very small plane used as a floor with the no material red texture only.
not even a player, just the default empty project fly camera and still
stress up the GPU above 1024x768 windowed res. on a mid end hardware.


all option setting on the minimal or low settings vsync and basic lighting.

imo, it should not do that since pretty much is an empty project with nothing in it.
the load supposed to start after piling up textures, polys etc..., but not in an empty scene. with just a fly camera.

looks like T3D by default is a GPU hungry.



maybe them shaders are the hungry ones??? but not even using then, what will be the best way to disable them?

to remove them from the initial project compilation?
#4
10/06/2012 (6:55 am)
This kinda depends on what you consider "low" and "mid" range specs.

With a 2.4ghz Core2 (old gen), 2gig RAM and a 512mb 250GTS, I am just below "mid" range according to Steam.

I've had my current game work "playably" on an i3 with i3 GPU laptop with everything on minimum. Works much better on an intel3000.

-----------------

T3D runs okay to the minimum specs which it is designed for - I've had it working on lower than it's stated minimum and it works like a sleepy dog but it does run ... just.

If you want to run on 10 year old hardware, you'll need a 10 year old game engine.
#5
10/06/2012 (7:56 am)

ohh wait, isnt it T3D a 10 year old engine??? maybe i am in the wrong engine then, lol

exactly, that is what i mean for a mid to low range hardware.


core2duo/core2quad 2.8ghz 2 GB ram on a 512 mb GT240 GPU or 200 series envidia

Since that setup is pretty much what the average general population now adays pretty much owns in a non hardcore gaming household.which is about 60 to 70% about the average owners as per statistics

that setup is around 3 to 5 years old tech and is considered around mid to low end. which is when T3D was being designed for back then. 2008, 2009 as far as i recall T3D was being tailored. right?
if i recall correctly back then that hardware was top of the line and T3D still ran like a hog in high settings, GPU hungry as hell.

unless T3D is a 10 year old engine? well basically it is its ancestors, T3D is just evolutioned from them but the core is pretty much the same.


that is what i am referring to.

OK, now to not get offtrack and back to the initial topic,


I have been thinking the ancestors used to be less GPU hungry due of the lack of shaders, but they dont exist anymore plus the tools are not that good as with T3D,
is there any chance of stripping out the shaders to T3D to make it more GPU friendly towards the general mid to low end hardware?

if so, has anyone done this before?
#6
10/06/2012 (10:17 am)
To strip out the shaders would be to strip out more functionality than I think you'd actually want to lose, and for very little gain. Your average laptop today is even able to handle T3D no problem, there's no need to get crazy with removing everything to make T3D work on a Win '98 rig.
#7
10/07/2012 (1:06 am)
@pilotcap232,
Try doing a release compile and see how it fares. That should speed it up. I am not sure you can really control how much it uses a GPU in any system.

I have an ENGTX460 and it still spins up the fan. I do keep settings on high though. I have also done some work with OpenCL with another program using Python. It seems to spin up the GPU fan as well a little bit. It is really light weight in comparison to T3D and only runs for a fraction of a second most of the time.

I don't think fan speed is a good metric for determining how much it is really stressing the GPU. I think there are probably some other software tools like FPS or looking at the GPU temperature to tell how much you are stressing the GPU.

Shaders add a lot to the scene. You don't need all of them. Determine which ones add value and which ones don't. As for disabling them you will have to research. The only way I know is deleting them out of the project files. However, you may look at how the different levels of the shaders work: low, medium, high. There may be a way to have a level called "crappy" and have little to no shaders on that selection.

@jacob,
I think losing the distance blur/focus shader would not be a bad thing. I very much dislike that shader.
#8
10/07/2012 (1:10 am)
Well naturally, that effect is broke as all hell. To remove all shaders though would not even be worth taking the time to do, let alone be efficient. There's way more to the shaders being used than just postFX. Basically everything graphically is handled through the procedural shader system. To remove shaders would be to rework that system, so may as well just start writing a new engine at that point.
#9
10/07/2012 (12:51 pm)
Thank you Frank,
finally someone that was on topic and offered some constructive alternatives,
instead of the get a new hardware, or if you want a 10 year old hardware get a 10 year old engine, etc......


I appreciate your effort to give constructive input to the topic Frank.


Ok, back to the topic,
well, I am not saying T3D wont run at all on mid to low end hardware (2 to 4 year old machines).

and you are right, the fan to spin in a high rpm when the cpu gets hot, that is why it is for to cool it down.

altho notice on the GPU monitor, it does put some high temp on it on low settings, and the fan, it just annoying as hell, too noisy to be hearing it all the time while specially developing.
it just feels that it gonna take off like a mini heli, lol

here are the specs on the target hardware:
core2duo 2.8 Ghz
2 Gig Ram
Win7
22 inch widescreen monitor

this are my GPU monitor readings on IDLE (No torque3d running):
GPU GeForce GT 240
GPU Clock 135MHz at its minimal when idle
temp:44 C
memory clock 135Mhz at its minimal when idle
used: 46 MB, FREE 465 mb, TOTAL gpu 512 mb
Fan speed: 5200 rpm
fan usage:30%
GPU cpu usage 0%

Now, 5200 GPU fan rpm on Idle, not sure it that reading is accurate, but i dont hear no buzzing from it so I take those readings as a startup point, i can see it running, but no buzz sound at all.

I can run pretty much other engines ie: Unity with close to none GPU stress on low settings at full screen 1680x1050 res in a empty scene with just a plane and a player avatar. and the gpu pretty much is silent.

so Unity seems to idle very good or optimized, or maybe is lower hungry or lower graphic quality.

but when i run T3D in an empty space just a fly camera very small plane no texture but the default no material. at all low settings.
and barely at 1024 x 768 windowed game res.
and the damn gpu fan starts to act up like a cat in mating season, lol

so seems like T3D does not idle nicely at even lower settings on empty scene.

now offcourse Unity the more you add up to the screen then the more resources you gonna use, but that is normal so you can actually build your game and optimize it as much as you like, and that will depend on the game developer and not the engine to target certain hardware audience.

so am trying to do the same with T3D. there must be some way to be able to make T3D idle smoothly to target certain hardware market.

here are the readings when running T3D in a windowed 1024x768 at very low settings on empty scene:

GPU GeForce GT 240
GPU Clock kicks in to its full 550MHz
temp:72 C
memory clock kicks in to its full 1701 Mhz
memory used: 80 MB, FREE 420 mb, TOTAL gpu 512 mb
Fan speed: 9500 rpm (Annoying buzz, sounds like a mini helicopter ready to take off, lol)
GPU fan usage:70%
GPU cpu usage 45%

offcource this all happens after 2 to 3 mins with T3D runnig it starts to warm up.
but the weirdest thing is that if I unfocus T3D window or minimize it, my GPU relieaves and goes back to idle.
but then focus again T3D and GPU starts buzzing like hell.


I will start digging in the shaders deal, maybe something can be done here to make it more Idle in minimal settings.
your comments and suggestions are really welcome.
thanks again

#10
10/07/2012 (4:33 pm)
ok, well, I fixed the issue.

Now my little GeForce GT 240
IDLES at 35 C temp
and at around 3800 rpm fan speed

running torque minimal settings
GPU temp = 52 C
and around 4800 rpm fan speed

running T3D with full high settings plus Advanced lightinings
GPU temp = 61 C
and around 5500 rpms fan speed

I let T3D running for like 30 to 40 mins to make sure the GPU had enough time to warm up to give me good and accurate reading from GPU meter.

awesome, issue solved. now it runs very silent, not even stressed up.
like 15 C temp difference from my previous dusty GPU, and like 3500 less rpm fan speed from before.

the solution was really simple
just to look outside the box.
shut down my pc, removed my GeForce GT 240 GPU and cleaned it up,
removed the heat sink it was all clogged with dust and stuffed so after a good clean added new heat sink thermal grease where the GPU chip processor touches the heat sink for dissipation and VOILA, that did the trick, :-)

I guess the heat dissipation was not actually doing its job, since the fan and heat sink was all clogged with dust plus the thermal grease was all dried up.

so if you have some similar issue with your GPU fan spinning or buzzing , you may want to check and make sure your GPU heat sink is properly cleaned up and the heat sink thermal grease is not all dried up.


so i guess T3D still idles ok on Mid to Low end hardware with properly cleaned GPU heat sinks, lol

or at least a nice clean up of your box for dust every once in a while, one never knows how much clogging dust can be and affect air flow from fans, therefore overheating the chips.


Lesson learned. :-)

clean your box before stripping out T3D lol


#11
10/08/2012 (1:44 am)
@jacob,
You are probably right. This is supposed to be a shader based engine.

@pilotcap232,
Haha! I had that issue a while back with my CPU. Here is the funny thing. I got my computer and CPU and built a pretty nice system. However, for some reason I never got around to messing with the silent running feature of the motherboard. So about a year into this setup I was like there has got to be a way to make this quieter. I went into the bios and found that feature. Cool, it should run quiet now. Well, it sort of ran quiet. Then it started getting louder, and louder, and louder... I was really wondering what the hell. Then I somehow got the idea that something was wrong with the machine. Stuff was getting slow. So I reboot the machine and it will not boot! I was kind of ticked, the machine was 1 year old. I realized it was overheating because of the bios messages. Finally I open the case and looked at the snowy scene in front of me. If there was something that could hold dust it had dust. I took it out and used an air compressor to blow it out and it made a freaking choking cloud! There was so much dust in there I bet the case was lighter after cleaning it out! Once it was cleaned out it ran really, really quiet, for the first time since I had owned the dang machine.

So don't worry about dust being a culprit. It gets us all. Now if only I could stop myself shedding skin cells that might help. As you know most of dust is dead skin cells.
#12
10/08/2012 (8:12 am)
lol, ikr

yeah, its funny how dust can really mess with the hardware,

I just added to the top of my pc hardware box troubleshoot checklist rule of dusting off the hardware box before anything else.
and at least a maintenance dust cleanup every 3 months.

that should make the pc more happy.

I still going to try to make T3D idle even smoother, maybe removing some not necessary shaders, Unyty3d idles a whole lot better than T3D and you can target a lower end market for casual mini games.

I know, some may think why not go Unity instead, since it performs better in lower end hardware.

well, As much as I love to, and only because unity has a massive userbase aswell and also a ton of very nice resources that makes your life easier, for some reason not having source really criples me,
I dotn really like that much the game.exe end user executable, cant resize window whith mouse click and drag from corner, cant maximize it.
no shadows in unity free, you have to pay $1500 for practically add shadows to your scene and remove the unity splash screen at startup.

Unity is not made to handle a large project since you have to compile the whole assets every single time and in a large project takes quite looong to compile. there are quite some drawbacks about that.

but for casual mini games Unity is just awesome. is like a toy engine.

T3D has more leverage, with source access you can do pretty much anything you like with it. and now that is MIT even better, complete freedom.
Hopefully the DotNetTorque will be of a great use for those who like to code in C# and probably will make the engine behave even better.
i hope.



#13
10/08/2012 (8:15 am)
I will just add this, in many cases the GPU will use up as much as it possibly can, this isnt just torque, it it other games and engines too. While it may consume high % of GPU time, often this is teh result of running a lot of the shaders adn other things at a higher frame rate than is really necessary. The upshot is that the amount of GPU consumed is not really a good measure of how hungry the engine is in many cases. The only real test is to create a sample level and see how it runs on the various hardwares you want, and test with disabling various effects, lighting, shadows etc.
#14
10/08/2012 (10:31 am)
From reading up on what Vince is doing DotNetTorque is going to be really really really fast. Vince is doing an awesome job and I can't wait to see some specs on the release implementation.
#15
10/08/2012 (4:51 pm)
yup, DNT sounds good in theory, hopefully it really does what they intended for.

altho, they seem to have quite some issues getting their stuff together.
seems like they dont know yet what to do with it, if release it, or not what to charge, what to give out. etc..


not just because the MIT license, but way before they been struggling about how to release and what to release.
unless Garage Games is giving them some hard time releasing?

not sure. but hopefully they ll do a release any time before the end of the year, since that is how it looks like they will be releasing by their past actions history.

it maybe be due if this is their first commercial deal they do and probably do not have someone with strong past online marketing or business experience to be supporting or guiding them, I ll bet ill be in the same shoes if I were them, so I dont blame them.
and I believe they are doing their best to release their product.
#16
10/08/2012 (9:02 pm)
They have had a couple of setbacks due to the technical difficulties in actually connecting unmanaged code to managed code. This is NOT a trivial task. I am purposely steering clear of that in my own code. I also prefer Python as my choice of language over C#.

The issue with GG going MIT complicated their support model. It makes providing a binary release a moving target as the MIT code will move much faster now. So the choice to provide source code actually solves that issue very elegantly. It benefits the end user as well. In addition to the interface they are going to use the code in a MMO so that experience will translate to improvements in C#.

As you said I cannot fault them for making sure what they release is useable and a quality build. To me it shows not wishy washy ness, but a commitment to quality. I can't wait to see the community they draw to GG through their efforts.
#17
06/27/2013 (11:18 am)
Hello,

(One year bump, I know. Google sent me here searching for "Torque3D gpu stress", and my issue seems related.)

Complete newbie to Torque3D, similar problem: GPU (GeForce GTX 560ti) fan goes berserk about a minute or two after I start using the World Editor, even in the default basic room with nothing but player and camera, and all graphic settings to lowest. If I load the default desert terrain, the fan goes at full speed instantly.

No dust or heat issue on my end. There are a select few games in which the card goes into heavy load right away and stays there, such as Deus Ex HR for example, so no doubt this isn't a Torque3D specific issue; but in the overwhelming majority of games I play (which includes the latest AAA stuff with decent amount of eyecandy), this card is quiet for the most part, with occasional but short-lived spikes.

It's not a terribly big deal, the card isn't overheating or anything, no crash of any kind. It's just harmless noise; although it is distracting and that makes learning the engine harder (I'm not a big headphones or music guy, silence is a must). Knowing almost nothing about programming or Torque3D I was just wondering if my situation is particular, if perhaps I'm missing some setting to tweak - I set the refresh rate to 60, but I assume it doesn't actually cap FPS at 60 (no way this card would need to work this hard to render an empty scene at 60 FPS on 1280x800, right?).

If that's just the way it is, I can deal with it. Just covering my bases and making sure I'm not missing something incredibly obvious here. Thanks. :)
#18
06/27/2013 (1:21 pm)
John, you'll want run Torque 3D then to go into Options and under Graphics check Vertical Sync.

Without that Torque will push your graphics card as hard as it can to render as many frames as possible since Torque has no self-regulator to prevent this situation like some games do. If you were to run say Fraps or any other utility that will show you the frame rate of the game you'll see Torque 3D rendering about 700 frames per second, well at least on my system anyway with a GTX 460.
#19
06/27/2013 (2:57 pm)
Quote:ohh wait, isnt it T3D a 10 year old engine??? maybe i am in the wrong engine then, lol
You're thinking of TGE.... Even TGEA isn't technically 10 years old yet. Admittedly, the core is closer to 15 years old, but the parts you're talking about aren't.

I'm going to second Nathan's suggestion - most game engines will push for the highest fps possible all the time unless you throttle it back intentionally.

<edit> Just realized that the quote I replied to was ancient....
#20
06/27/2013 (4:24 pm)
... hands Richard a wooden stake and hammer ...

That should put that quote to rest! ;)
Page «Previous 1 2