NVIDIA SLI and stutter...
Transcript of NVIDIA SLI and stutter...
gameworks.nvidia.com | GDC 2015
Lars Nordskog and Iain Cantlay
NVIDIA SLI and stutter avoidance: a recipe for smooth gaming and perfect scaling with multiple GPUs
gameworks.nvidia.com | GDC 2015
Two topics today only:
One measurement – percentiles
One cause – memory over-commitment
See Cem Cebenoyan’s broader, extensive treatment from China GDC 2012
Stutter - A Vast Topic
gameworks.nvidia.com | GDC 2015
Critical to game-play experience
As important as average FPS?
More important?
Ultra-low tolerance in VR
Stutter Matters
gameworks.nvidia.com | GDC 2015
“I was able to play smoothly without any problems”
“This is a confirmed fix”
“[the fix] didn't do anything for me”
“we see heavy perf drop/severe stutter”
gameworks.nvidia.com | GDC 2015
No Supporting Data
gameworks.nvidia.com | GDC 2015
Quantify your claims
Measure before you can fix
Trust numbers (with time)
Why Measure Stutter?
Prove your fixes
Regression test
gameworks.nvidia.com | GDC 2015
How to Grok Percentiles
0
20
40
60
96 98
99%
99% of frames < 29ms
1% of frames > 29ms
99.87% of frames < 53ms
0.13% of frames > 53ms
99.87%
Good
Bad
gameworks.nvidia.com | GDC 2015
Common in statistics
Excel
Fraps2percentile tool – source published:
https://developer.nvidia.com/content/analysing-stutter-%E2%80%93-mining-more-percentiles-0
How to Compute Percentiles
gameworks.nvidia.com | GDC 2015
Fixed a stutter bug in game (not driver)
Before/after clear picture (for >99.5%)
Measured!
Example: Battlefield 4
0
20
40
60
98 98.5 99 99.5 100
gameworks.nvidia.com | GDC 2015
GeForce driver opts for shader compilation
End-user improvement with no changes to game
Measured!
Example: GeForce Driver
30
40
50
60
99 99.2 99.4 99.6 99.8 100
Call of Duty: Ghosts
gameworks.nvidia.com | GDC 2015
Stdev
Count > threshold
Count > median over window
Fourier analysis
Any spike, even one, == a Bad Thing
Other Measures
0
2
4
6
8
10
12
14
16
18
20
0 20 40 60 80 100 120M
agnit
ude
Frequency
gameworks.nvidia.com | GDC 2015
Definitely spikey
Percentiles agree
Limitations of Percentiles
0
10
20
30
40
0 2000 4000 6000 8000 10000 98% 99% 100%
gameworks.nvidia.com | GDC 2015
Average frame time jumps up
Masks the earlier spikes
Analyse a small window instead?
Limitations of Percentiles
0
10
20
30
40
0 2000 4000 6000 8000 10000 98% 99% 100%
gameworks.nvidia.com | GDC 2015
Percentile graphs capture variety
Stutter is Complex and Varied
40
gameworks.nvidia.com | GDC 2015
Cannot graph many results
Too complex for a single scalar representation
Limitations of Percentiles
gameworks.nvidia.com | GDC 2015
Stutter is Complex and Varied
gameworks.nvidia.com | GDC 2015
See Cem’s China GDC 2012 presentation
1. Shader compilation
2. Video memory oversubscription
3. Resource mis-management (mapping)
4. Queued frames
5. Improper queries
Top Five Causes of Stutter
gameworks.nvidia.com | GDC 2015
See Cem’s China GDC 2012 presentation
1. Shader compilation
2. Video memory oversubscription
3. Resource mis-management (mapping)
4. Queued frames
5. Improper queries
Top Five Causes of Stutter
gameworks.nvidia.com | GDC 2015
GPUView (get Microsoft’s Windows Performance Toolkit)
Memory over-commitment
P2 references > 0% correlate with stutter
Plenty more fix tips in Cem’s presentation (see references)
Fixing – A Simple Tip
gameworks.nvidia.com | GDC 2015
Fixing Stutter - GPUView
gameworks.nvidia.com | GDC 2015
Fixing Stutter - GPUView
gameworks.nvidia.com | GDC 2015
Fixing Stutter - Memory 64ms
P2 references are high
Paging
Packets
(red)
gameworks.nvidia.com | GDC 2015
Fixing Stutter - Memory
High Priority 2 references
gameworks.nvidia.com | GDC 2015
Measure, measure, measure
Add measures to your game
Then fix
Summary
gameworks.nvidia.com | GDC 2015
Questions / Further Reading https://developer.nvidia.com/sites/default/files/akamai/gameworks/CN/Stuttering_Analysis_EN.pdf
http://techreport.com/review/21516/inside-the-second-a-new-look-at-game-benchmarking
https://developer.nvidia.com/content/analysing-stutter-%E2%80%93-mining-more-percentiles-0
http://graphics.stanford.edu/~mdfisher/GPUView.html
http://developer.amd.com/gpu_assets/Using%20GPUView%20to%20Understand%20your%20DirectX%2011%20Game.pps
gameworks.nvidia.com | GDC 2015
Get the latest information for developers from NVIDIA and continue the discussion
gameworks.nvidia.com
GameWorks