Jump to content
The Lotus Eaters: Share Bug Reports and Feedback Here! ×
The Lotus Eaters: Known Issues ×

Improper Gpu Utilization In Void? (Low Fps)


Hypnowings
 Share

Recommended Posts

TL;DR - yeah we suck, the game thread stalls in some levels (void traps are the worst) but this is fixed (aka: way better) in U13!

while that's great and all - why is so much of the game on a single thread? that can be split up so say, rendering can be a completely separate thread from everything else, so it doesn't need to wait around for any other interferences.

 

etc.

 

 

but that sounds good, hopefully the number of users in a match won't affect performance to any significant extent anymore? :/

doesn't make sense that rendering is affected by the syncing of players and other networking tasks.

Link to comment
Share on other sites

Sorry :( I know it sucks to wait for it. We're holding it back from hot-fixes to make sure it gets as much testing as possible - it is a very invasive change to the way the game thread updates and its important that we don't improve one case at the expensive of another.

May we....errrmmm...Have just...A little, small,tiny hint on the release week of 2.0? Just one...? :s

 

(Oh God, I finally did it!)

Link to comment
Share on other sites

Hey guys - the poor GPU balance in the void case is primarily because the Void traps are updating all of the time, across the whole map, every frame. These traps update on the main 'game' thread and take so long it can sometimes look like poor CPU utilization too (because the other threads running effects, physics, collision, animation and rendering are 'fed' by the game thread). U13 has fixes for this and other generic cases of 'stuff far away from enemies and players eating up CPU for no reason'.

 

That's why you see the big jump in FPS/GPU utilization from pausing the game in solo... this skips all the game thread work to update objects so the other threads all get work to do much faster... including the rendering thread feeding work to the GPU.

 

TL;DR - yeah we suck, the game thread stalls in some levels (void traps are the worst) but this is fixed (aka: way better) in U13!

 

What about the FPS drops and lags during long runs 50+ waves or long survivals? Are these going to be fixed?

 

My clanmate allrdy wrote a support ticket 3+ month ago (probably garbage collection probs, where you have to kill yourself to get better fps/lags which fix it to a certain point)

Link to comment
Share on other sites

while that's great and all - why is so much of the game on a single thread? that can be split up so say, rendering can be a completely separate thread from everything else, so it doesn't need to wait around for any other interferences.

 

 

 

Because multi-threading is a programmers nightmare. The biggest problem is getting the different processes to access, read, and write data - without accessing it at the same time as another thread and corrupting it. It's not simply a matter of assinging different proccesses to different cores and hanging up the towel. The potential for bugs pretty much squares with each new threaded process. It took valve nearly a year and a half to get multithreaded support working in TF2 so I'm unsurprised if it takes DE just as long. Especially with the kind of scripted stuff going on in the void.

 

That being said - it makes me wonder why they even release stuff like this if its so poorly optimized. Sure this is supposedly still a beta, but the majority of the playerbase don't really want to be test dummies. It would be smarter to have an opt in "Tenno Technicians" scheme, so that those that wanted to, could download and play test the buggier content.

 

 

Honestly I'm a little touched by this frank open-ness regarding what has been a long suffering issue for a lot of people Steve. I hope you guys follow through with these optimizations - and I hope you realize, and act upon the serious need for other core gameplay fixes - rather than an endless stream of new maps, frames, weapons and other fluff. 

Link to comment
Share on other sites

Because multi-threading is a programmers nightmare. The biggest problem is getting the different processes to access, read, and write data - without accessing it at the same time as another thread and corrupting it. It's not simply a matter of assinging different proccesses to different cores and hanging up the towel. The potential for bugs pretty much squares with each new threaded process. It took valve nearly a year and a half to get multithreaded support working in TF2 so I'm unsurprised if it takes DE just as long. Especially with the kind of scripted stuff going on in the void.

 

That being said - it makes me wonder why they even release stuff like this if its so poorly optimized. Sure this is supposedly still a beta, but the majority of the playerbase don't really want to be test dummies. It would be smarter to have an opt in "Tenno Technicians" scheme, so that those that wanted to, could download and play test the buggier content.

 

 

Honestly I'm a little touched by this frank open-ness regarding what has been a long suffering issue for a lot of people Steve. I hope you guys follow through with these optimizations - and I hope you realize, and act upon the serious need for other core gameplay fixes - rather than an endless stream of new maps, frames, weapons and other fluff.

Their workforce distribution is set so i dont think an animation or art departments will work on fixing multithread bugs instead of working on their own stuff. I do not know how a developer struggles with multithreads, but several things i know:pc with single core cpus dont play games anymore

Also i know that transistor resistance raise with heat and clock rate, therefore making it inefficient to keep it overclocking to raise performance, thats why we need multicores.

And i know that a core i7 is superior to a celeron on either single or multicore performance. We are in 2014, people need to know how to program for multithreads perfectly. Its not like multithreads started dominating market recently, it has beeb a long time

Link to comment
Share on other sites

I have something similar (gpu utilization low - low fps), I tried to change on/off 64 bit mode and directx 11 and some combination helps a bit.. I wonder if AMD cards users have the same issue. I see all ppl here with newest nvidia cards. My guessing is this has something to do with optimization for kepler cards.

Link to comment
Share on other sites

I have something similar (gpu utilization low - low fps), I tried to change on/off 64 bit mode and directx 11 and some combination helps a bit.. I wonder if AMD cards users have the same issue. I see all ppl here with newest nvidia cards. My guessing is this has something to do with optimization for kepler cards.

Ure not alone, i'm using AMD too.

Link to comment
Share on other sites

Because multi-threading is a programmers nightmare. The biggest problem is getting the different processes to access, read, and write data - without accessing it at the same time as another thread and corrupting it.

yet, we have so many things linearly threaded, that are completely separate from each other. rendering should always be threaded on it's own. it's a brutal enough thread, we don't need to be stacking other functions that aren't rendering on top. that leaves a lot of other functions to be threaded separately. networking can store and continuously update for whenever the rendering thread is ready. input can continuously update and take absolute priority. we don't need to split rendering into a dozen threads, because that's not practical. but adding more than we need in a single thread is not helping us.

i'd prefer if we could split rendering into atleast a few threads so that cycles are stable, instead of spikes here and there - as spikes do not process well on any computer. yes, it's complicated and a lot of work. but smoothing out those spikes will globally improve performance.

 

My guessing is this has something to do with optimization for kepler cards.

my now boxed up Fermi card had identical issues.

 

Warframe doesn't USE the GPU, so all of them will encounter a similar problem.

 

if you wanted to build a 'beast' for just Warframe, literally, all you need is a 4 core + processor (hyperthreaded or not), with a super high cycle rate, and plenty of system and vRAM. your GPU could be a GTX260 and as long as it had tons of vRAM (2g+), you'd get the same performance everyone else gets with machines that have more expensive parts in them. @1080p without Turbulence Fields, that is. increasing resolution or adding the blinding effects both drastically increase GPU usage, but 1080p is still the 'standard'. we certainly aren't on 2400p as the norm quite yet :(

Link to comment
Share on other sites

yet, we have so many things linearly threaded, that are completely separate from each other. rendering should always be threaded on it's own. it's a brutal enough thread, we don't need to be stacking other functions that aren't rendering on top. that leaves a lot of other functions to be threaded separately. networking can store and continuously update for whenever the rendering thread is ready. input can continuously update and take absolute priority. we don't need to split rendering into a dozen threads, because that's not practical. but adding more than we need in a single thread is not helping us.

i'd prefer if we could split rendering into atleast a few threads so that cycles are stable, instead of spikes here and there - as spikes do not process well on any computer. yes, it's complicated and a lot of work. but smoothing out those spikes will globally improve performance.

 

I agree, but its the Evolution engine, so console restrictions still apply. Maybe less so now that they're running a PS4 release - but we'll simply have to wait and see. 

 

Their workforce distribution is set so i dont think an animation or art departments will work on fixing multithread bugs instead of working on their own stuff. I do not know how a developer struggles with multithreads, but several things i know:pc with single core cpus dont play games anymore

 

Its not like multithreads started dominating market recently, it has beeb a long time

 

I was never suggesting that teams other than coding were working on the multithreading issue. Simply that it will probably take them time. It may be 2014, but proper multithreaded support is still uncommon at best. Simply being a few years after these architectures were introduced hasn't made it any easier to compile essentially 2x as much code with 4x as many interconnections. Look at Battlefeild 4 for goodness sake. Released only 2 months ago and yet its ballistics and decal threads are completely separate and often dsyncronise. Meaning you can miss something, and a bullet impact will still appear visually on it. Being new is no garuntee of being able to get multithreading right. 

 

Lets just give DE some time, and hope they can make it work better than it currently does. It still isn't an easy thing to do, despite how many years may have passed.

Edited by 11.11.11
Link to comment
Share on other sites

i'd rather not D:

 

BF4 is a freaking disgrace. it should have been in closed doors Development for another year, maybe even two.

 

Of course. But if ever there was a case for how not to develop pretty much any aspect of a AAA game. BF4 is its posterchild. Hence my use of it here. 

Link to comment
Share on other sites

Update: I tested a wide range of cards and here is the results.

 

GTX 260 had poor utilization 

GTX 460 had poor utilization 

GTX 560 & 560 Ti had poor utilization 

GTX 650 Ti had poor utilization

GTX 660 Ti had poor utilization 

GTX 760 had poor utilization

GTX 780 had poor utilization 

 

AMD 5870 

AMD 6870

AMD 7770 Ghz edition

AMD R9 280x

AMD R9 290

 

All AMD cards did not have low GPU utilization from my testing. 

 

The symptoms seem to show on the NVIDIA side a low power target being achieved along with an average of half the GPU being utilized. The peculiar thing is that this is not always occurring 100% of the time. After some instances of testing, a clean boot has resolved the issues temporarily. They soon return. I have lost interest in trying to resolve these issues to have an enjoyable time within Warframe. Steve, you need to iron this out quickly and I doubt the issues you stated is the cause in its entirety.  

Edited by Mythblaze
Link to comment
Share on other sites

Yesterday's patch (12.6) had some optimizations for the void and I noticed a decent bump in frames.

Unfortunately, I still have frequent drops to 40 frames.

 

I'm not doing lots of void runs and the performance issue is the main reason I don't.

Link to comment
Share on other sites

This is BS.  We have to wait for the next big update to FIX what you BROKE in a previous update?  Good job!! Way to go.  FFS.

these issues have been present in warframe since day one. they have never been fixed before.

it only became much more of a problem when the Void was introduced.

but it's always been there, inefficiences abound.

Link to comment
Share on other sites

I'm running an AMD 7850 and a Phenom II, and getting superb performance-- except in the yellow-tinted towers, where framerate tanks to an estimated ~20. However, the blue-tinted towers are absolutely fine. Is that because the tint isn't randomly decided and blue towers never have traps... or?

 

I thought the Color Correction option had something to do with this, but now I'm not so sure anymore.

Link to comment
Share on other sites

I'm running an AMD 7850 and a Phenom II, and getting superb performance-- except in the yellow-tinted towers, where framerate tanks to an estimated ~20. However, the blue-tinted towers are absolutely fine. Is that because the tint isn't randomly decided and blue towers never have traps... or?

 

I thought the Color Correction option had something to do with this, but now I'm not so sure anymore.

 

I swear that this sounds familiar, but I have no data to back it up!

 

Anyways, Awesome to hear about Update 13! I'm excited for it :).

Link to comment
Share on other sites

I have something similar (gpu utilization low - low fps), I tried to change on/off 64 bit mode and directx 11 and some combination helps a bit.. I wonder if AMD cards users have the same issue. I see all ppl here with newest nvidia cards. My guessing is this has something to do with optimization for kepler cards.

Same here, it's not a new card tbh, 7870 oc edition plus my own oc on top of it) but the optimizations really played a number, I tried using the beta drivers and doing the directx11 and 64bit mode too but the change isn't really improving much.

Link to comment
Share on other sites

Update: I tested a wide range of cards and here is the results.

 

GTX 260 had poor utilization 

GTX 460 had poor utilization 

GTX 560 & 560 Ti had poor utilization 

GTX 650 Ti had poor utilization

GTX 660 Ti had poor utilization 

GTX 760 had poor utilization

GTX 780 had poor utilization 

 

AMD 5870 

AMD 6870

AMD 7770 Ghz edition

AMD R9 280x

AMD R9 290

 

All AMD cards did not have low GPU utilization from my testing. 

 

The symptoms seem to show on the NVIDIA side a low power target being achieved along with an average of half the GPU being utilized. The peculiar thing is that this is not always occurring 100% of the time. After some instances of testing, a clean boot has resolved the issues temporarily. They soon return. I have lost interest in trying to resolve these issues to have an enjoyable time within Warframe. Steve, you need to iron this out quickly and I doubt the issues you stated is the cause in its entirety.

Since it is an nvidia problem, well maybe it is about nvidia gpus reserving resources for some of nvidia features, like physx, like nvidia specific txaa, etc. Could you please retest your card while toggling some of gaphics settings

Link to comment
Share on other sites

Since it is an nvidia problem, well maybe it is about nvidia gpus reserving resources for some of nvidia features, like physx, like nvidia specific txaa, etc. Could you please retest your card while toggling some of gaphics settings

Do you know how long it took to do that testing? T.T 

 

I wish I was paid for the hours of testing... Here is how the testing looks.

 

Test with current installed card

Remove card and driver

Install next card and driver

Test with current installed card

Remove card and driver

Install next card and driver

Test with current installed card

Remove card and driver

Install next card and driver

Test with current installed card

Remove card and driver

Install next card and driver

Test with current installed card

Remove card and driver

Install next card and driver

Test with current installed card

Remove card and driver

Install next card and driver

Test with current installed card

Remove card and driver

Install next card and driver

Test with current installed card

Remove card and driver

Install next card and driver

Test with current installed card

Remove card and driver

Install next card and driver

Test with current installed card

Remove card and driver

Install next card and driver

Test with current installed card

Remove card and driver

Install next card and driver

Test with current installed card

Remove card and driver

Install next card and driver 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...