NVIDIA SLI and stutter...

26
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

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