Top Banner
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
26

NVIDIA SLI and stutter avoidancedeveloper.download.nvidia.com/assets/events/GDC15/GEFORCE/Stutt… · gameworks.nvidia.com | GDC 2015 Lars Nordskog and Iain Cantlay NVIDIA SLI and

Jul 21, 2018

Download

Documents

vudan
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: NVIDIA SLI and stutter avoidancedeveloper.download.nvidia.com/assets/events/GDC15/GEFORCE/Stutt… · gameworks.nvidia.com | GDC 2015 Lars Nordskog and Iain Cantlay NVIDIA SLI and

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

Page 2: NVIDIA SLI and stutter avoidancedeveloper.download.nvidia.com/assets/events/GDC15/GEFORCE/Stutt… · gameworks.nvidia.com | GDC 2015 Lars Nordskog and Iain Cantlay NVIDIA SLI and

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

Page 3: NVIDIA SLI and stutter avoidancedeveloper.download.nvidia.com/assets/events/GDC15/GEFORCE/Stutt… · gameworks.nvidia.com | GDC 2015 Lars Nordskog and Iain Cantlay NVIDIA SLI and

gameworks.nvidia.com | GDC 2015

Critical to game-play experience

As important as average FPS?

More important?

Ultra-low tolerance in VR

Stutter Matters

Page 4: NVIDIA SLI and stutter avoidancedeveloper.download.nvidia.com/assets/events/GDC15/GEFORCE/Stutt… · gameworks.nvidia.com | GDC 2015 Lars Nordskog and Iain Cantlay NVIDIA SLI and

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”

Page 5: NVIDIA SLI and stutter avoidancedeveloper.download.nvidia.com/assets/events/GDC15/GEFORCE/Stutt… · gameworks.nvidia.com | GDC 2015 Lars Nordskog and Iain Cantlay NVIDIA SLI and

gameworks.nvidia.com | GDC 2015

No Supporting Data

Page 6: NVIDIA SLI and stutter avoidancedeveloper.download.nvidia.com/assets/events/GDC15/GEFORCE/Stutt… · gameworks.nvidia.com | GDC 2015 Lars Nordskog and Iain Cantlay NVIDIA SLI and

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

Page 7: NVIDIA SLI and stutter avoidancedeveloper.download.nvidia.com/assets/events/GDC15/GEFORCE/Stutt… · gameworks.nvidia.com | GDC 2015 Lars Nordskog and Iain Cantlay NVIDIA SLI and

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

Page 8: NVIDIA SLI and stutter avoidancedeveloper.download.nvidia.com/assets/events/GDC15/GEFORCE/Stutt… · gameworks.nvidia.com | GDC 2015 Lars Nordskog and Iain Cantlay NVIDIA SLI and

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

Page 9: NVIDIA SLI and stutter avoidancedeveloper.download.nvidia.com/assets/events/GDC15/GEFORCE/Stutt… · gameworks.nvidia.com | GDC 2015 Lars Nordskog and Iain Cantlay NVIDIA SLI and

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

Page 10: NVIDIA SLI and stutter avoidancedeveloper.download.nvidia.com/assets/events/GDC15/GEFORCE/Stutt… · gameworks.nvidia.com | GDC 2015 Lars Nordskog and Iain Cantlay NVIDIA SLI and

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

Page 11: NVIDIA SLI and stutter avoidancedeveloper.download.nvidia.com/assets/events/GDC15/GEFORCE/Stutt… · gameworks.nvidia.com | GDC 2015 Lars Nordskog and Iain Cantlay NVIDIA SLI and

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

Page 12: NVIDIA SLI and stutter avoidancedeveloper.download.nvidia.com/assets/events/GDC15/GEFORCE/Stutt… · gameworks.nvidia.com | GDC 2015 Lars Nordskog and Iain Cantlay NVIDIA SLI and

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%

Page 13: NVIDIA SLI and stutter avoidancedeveloper.download.nvidia.com/assets/events/GDC15/GEFORCE/Stutt… · gameworks.nvidia.com | GDC 2015 Lars Nordskog and Iain Cantlay NVIDIA SLI and

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%

Page 14: NVIDIA SLI and stutter avoidancedeveloper.download.nvidia.com/assets/events/GDC15/GEFORCE/Stutt… · gameworks.nvidia.com | GDC 2015 Lars Nordskog and Iain Cantlay NVIDIA SLI and

gameworks.nvidia.com | GDC 2015

Percentile graphs capture variety

Stutter is Complex and Varied

40

Page 15: NVIDIA SLI and stutter avoidancedeveloper.download.nvidia.com/assets/events/GDC15/GEFORCE/Stutt… · gameworks.nvidia.com | GDC 2015 Lars Nordskog and Iain Cantlay NVIDIA SLI and

gameworks.nvidia.com | GDC 2015

Cannot graph many results

Too complex for a single scalar representation

Limitations of Percentiles

Page 16: NVIDIA SLI and stutter avoidancedeveloper.download.nvidia.com/assets/events/GDC15/GEFORCE/Stutt… · gameworks.nvidia.com | GDC 2015 Lars Nordskog and Iain Cantlay NVIDIA SLI and

gameworks.nvidia.com | GDC 2015

Stutter is Complex and Varied

Page 17: NVIDIA SLI and stutter avoidancedeveloper.download.nvidia.com/assets/events/GDC15/GEFORCE/Stutt… · gameworks.nvidia.com | GDC 2015 Lars Nordskog and Iain Cantlay NVIDIA SLI and

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

Page 18: NVIDIA SLI and stutter avoidancedeveloper.download.nvidia.com/assets/events/GDC15/GEFORCE/Stutt… · gameworks.nvidia.com | GDC 2015 Lars Nordskog and Iain Cantlay NVIDIA SLI and

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

Page 19: NVIDIA SLI and stutter avoidancedeveloper.download.nvidia.com/assets/events/GDC15/GEFORCE/Stutt… · gameworks.nvidia.com | GDC 2015 Lars Nordskog and Iain Cantlay NVIDIA SLI and

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

Page 20: NVIDIA SLI and stutter avoidancedeveloper.download.nvidia.com/assets/events/GDC15/GEFORCE/Stutt… · gameworks.nvidia.com | GDC 2015 Lars Nordskog and Iain Cantlay NVIDIA SLI and

gameworks.nvidia.com | GDC 2015

Fixing Stutter - GPUView

Page 21: NVIDIA SLI and stutter avoidancedeveloper.download.nvidia.com/assets/events/GDC15/GEFORCE/Stutt… · gameworks.nvidia.com | GDC 2015 Lars Nordskog and Iain Cantlay NVIDIA SLI and

gameworks.nvidia.com | GDC 2015

Fixing Stutter - GPUView

Page 22: NVIDIA SLI and stutter avoidancedeveloper.download.nvidia.com/assets/events/GDC15/GEFORCE/Stutt… · gameworks.nvidia.com | GDC 2015 Lars Nordskog and Iain Cantlay NVIDIA SLI and

gameworks.nvidia.com | GDC 2015

Fixing Stutter - Memory 64ms

P2 references are high

Paging

Packets

(red)

Page 23: NVIDIA SLI and stutter avoidancedeveloper.download.nvidia.com/assets/events/GDC15/GEFORCE/Stutt… · gameworks.nvidia.com | GDC 2015 Lars Nordskog and Iain Cantlay NVIDIA SLI and

gameworks.nvidia.com | GDC 2015

Fixing Stutter - Memory

High Priority 2 references

Page 24: NVIDIA SLI and stutter avoidancedeveloper.download.nvidia.com/assets/events/GDC15/GEFORCE/Stutt… · gameworks.nvidia.com | GDC 2015 Lars Nordskog and Iain Cantlay NVIDIA SLI and

gameworks.nvidia.com | GDC 2015

Measure, measure, measure

Add measures to your game

Then fix

Summary

Page 25: NVIDIA SLI and stutter avoidancedeveloper.download.nvidia.com/assets/events/GDC15/GEFORCE/Stutt… · gameworks.nvidia.com | GDC 2015 Lars Nordskog and Iain Cantlay NVIDIA SLI and

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

Page 26: NVIDIA SLI and stutter avoidancedeveloper.download.nvidia.com/assets/events/GDC15/GEFORCE/Stutt… · gameworks.nvidia.com | GDC 2015 Lars Nordskog and Iain Cantlay NVIDIA SLI and

gameworks.nvidia.com | GDC 2015

Get the latest information for developers from NVIDIA and continue the discussion

gameworks.nvidia.com

GameWorks