Jump to content
Dante Unbound: Known Issues ×
Dante Unbound: Share Bug Reports and Feedback Here! ×

Regarding Memory Management - Study on graphics options


Hrodgrim
 Share

Recommended Posts

I've harped on about this in the past (last month) but a few of my friends and I have taken some time to figure out which settings are causing the most memory loss/usage. To preface this, Warframe's GPU-oriented settings are incredibly well optimized. My 11 year old computer can run the game with all the GPU settings maxed out just fine. The big issue with Warframe, and my friends can attest to this, is the memory usage. CPU-oriented settings will quickly cause framerate loss in computers that aren't within around 3-4 years old or younger. This can be bypassed via asset culling, discussed in a thread made on February 6th. We tested these options by comparing the differences in performance between GPU machines and CPU machines.

My purpose in creating this thread is threefold. First, I request that options be added to cull extraneous models and textures such as pebbles, grass, etc., and especially player models. Second, I request that options be marked whether or not they are primarily influenced by the GPU or the CPU. Rather than having to parse through each option while watching performance tabs, simply indicate which they are. Lastly, I will list below all the settings and how they seemingly function based on our testing.

Onto the meat of the topic, the list. Do note that this list may not indicate the way these functions actually work, but rather how they impacted our tests. The options shall be marked as either GPU or CPU based on the impact they have according to our testing:

  • Runtime Tesselation - CPU - Explicitly loads models.
  • Local Reflections - GPU  - ▼▼▼
  • Blur Reflections - GPU - Both "Reflections" options seemingly make little to no difference whether or not they are used on either machine type. 
  • Volumetric Lighting - GPU - Didn't impact GPU machines at all.
  • High Dynamic Range - CPU - GPU machines slowed very slightly with this on. 
  • Adaptive Exposure - ??? - There wasn't a very noticeable delay on either type of machine. Some additional help is needed here.
  • Glare - ??? - This setting seemingly had no impact on either sort of machine.
  • Film Grain - CPU - This one didn't impact performance noticeably, but I've listed it as CPU due to it loading an asset.
  • Ambient Occlusion - CPU - Hard to determine, but I believe this one is CPU based on other shadows.
  • High Shader Quality - CPU - This one almost didn't make a difference but I am led to believe it's influenced by CPU due to the nature of the change.
  • Dynamic Resolution - ??? - This setting helped out with both types of machine. Computer nerds, help me out with this one.
  • Geometry Detail - CPU - Expressly loads multiple tiers of detail.
  • Particle System Quality - GPU - All "Particle" options seemingly relate to GPU. My own computer can have every particle setting maxed with absolutely no impact.
  • GPU Particles - GPU - Explicitly says "GPU". I'll take their word for it.
  • Shadow Quality - CPU - All "Shadows" options (including Ambient Occlusion) are seemingly more beholden to CPU machines.
  • Texture Memory - CPU - Explicitly states it uses memory, though the GPU machines felt no real discernible difference.
  • Anisotropic Filtering - CPU - GPU machines noticed a slight framerate drop when this was turned on. 
  • Trilinear Filtering - CPU - This one slowed the GPU machines slightly, though noticeably, when turned on.
  • Anti-Aliasing - ??? - Requires further testing, no conclusive results between the few of us.
  • Depth Of Field - GPU - Not entirely sure about this one. Results were about the same for both types of machine.
  • Motion Blur - CPU - GPU computers slowed down almost unnoticeably with this turned on.
  • Bloom - GPU - Not very noticeable on either type of machine.
  • Color Correction - CPU - GPU machines slowed only slightly when this was on. Delay was more noticeable during transitions (such as entering another room in a Dojo).
  • Dynamic Lighting - CPU - The GPU computers noticeably slowed down when using this. 
  • Character Shadows - CPU - All "Shadows" options (including Ambient Occlusion) are seemingly more beholden to CPU machines.
  • Weapon Elemental FX - CPU - Classified as CPU due to it loading effects. Doesn't impact framerate at all.

The results of these tests are by no means conclusive. I strongly urge anyone interested to help further these tests. 

On a somewhat related note, if you're having framerate issues in general, try disabling "Reverb" in the audio section.

February 6th Thread:

Edited by Reefermun
Link to comment
Share on other sites

I feel like this shouldn't really be in the bug section of the forums... it seems more like feedback.

That aside. Almost all of Warframes settings are centred around work for the GPU, for the most part. This is a little bit of a misnomer as Warframes graphical settings aren't that taxing in the first place - save for the very new stuff but even then, the underlying issues regarding performance for capable systems is CPU (for which Warframe offers no real tweakable setting).

Things like shadow detail, and Geometry detail can be CPU bound but the situation is highly specific. eg, Draw calls. But you might be able to make the argument that on higher end systems this becomes an issue with the API itself, though Warframe certainly isn't near that point.

 To note on a few points:

10 hours ago, Reefermun said:
  • Runtime Tesselation - CPU - Explicitly loads models.

Things like tesselation are entirely GPU bound; the GPU has fixed hardware to deal with this sort of work. The CPU prepares the same vertex data regardless of whether the setting is on or off. If anything, this would decrease CPU work, as Devs have the option to create less complex models using fewer vertices. 

10 hours ago, Reefermun said:
  • Anisotropic Filtering - CPU - GPU machines noticed a slight framerate drop when this was turned on. 
  • Trilinear Filtering - CPU - This one slowed the GPU machines slightly, though noticeably, when turned on.

Like tesselation, this is again entirely GPU bound. No modern game uses HQ textures across the entire scene. Smaller mipmaps are used instead at some distance from the camera. All games use Bilinear, but Trilinear is offered as you could say it's better (though imho, that's splitting hairs).

With AF: The GPU takes texel samples within the mipmaps to produce something that looks much better at oblique angles. The number of theses samples is indicated in game - "2x, 4x, 8x, 16x".

10 hours ago, Reefermun said:
  • Texture Memory - CPU - Explicitly states it uses memory, though the GPU machines felt no real discernible difference.

This is GPU memory. Devs can sometimes use the extra VRAM as a cache as it saves having to go back to system RAM (or worse: disk drive) to get the data it needs.

10 hours ago, Reefermun said:
  • Glare - ??? - This setting seemingly had no impact on either sort of machine.
  • Film Grain - CPU - This one didn't impact performance noticeably, but I've listed it as CPU due to it loading an asset.
  • Ambient Occlusion - CPU - Hard to determine, but I believe this one is CPU based on other shadows.
  • Anti-Aliasing - ??? - Requires further testing, no conclusive results between the few of us.
  • Depth Of Field - GPU - Not entirely sure about this one. Results were about the same for both types of machine.
  • Motion Blur - CPU - GPU computers slowed down almost unnoticeably with this turned on.
  • Bloom - GPU - Not very noticeable on either type of machine.
  • Color Correction - CPU - GPU machines slowed only slightly when this was on. Delay was more noticeable during transitions (such as entering another room in a Dojo).

These are all post-fx techniques. They happen on the GPU at the end of the render pipeline.

10 hours ago, Reefermun said:

Second, I request that options be marked whether or not they are primarily influenced by the GPU or the CPU. Rather than having to parse through each option while watching performance tabs, simply indicate which they are.

I'd like this too, but i'd also like this for all games tbh. Why it isn't the norm industry wide yet is beyond me. Ye olde Joe ain't going to know what anything in the options menu means if all he want to do is play a game.

Edited by MillbrookWest
  • Like 1
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...