1
Real Real-
- Time Rendering
Time Rendering ( (Echtzeitgraphik Echtzeitgraphik) )
- Dr. Michael Wimmer
- Dr. Michael Wimmer
wimmer@cg.tuwien.ac.at wimmer@cg.tuwien.ac.at
Real Real-
- Time Rendering
Time Rendering Performance Analysis Performance Analysis and Characterization and Characterization
Michael Wimmer Vienna University of Technology 3
What for? What for?
- If you want to improve performance
If you want to improve performance… …
- ... you have to be able to analyze it!
... you have to be able to analyze it!
- Peek at what other people are doing!
Peek at what other people are doing!
- Understand influence of scene design
Understand influence of scene design
- Understand influence of hardware
Understand influence of hardware
- Will include some optimization tips
Will include some optimization tips… …
Michael Wimmer Vienna University of Technology 4
Overview Overview
- Performance Analysis
Performance Analysis
- Which tools to measure performance?
Which tools to measure performance?
- Performance Characterization 1
Performance Characterization 1
- Characterize general properties of
Characterize general properties of scenes scenes and and hardware architectures hardware architectures
- Performance Characterization 2
Performance Characterization 2
- Characterize and find
Characterize and find bottlenecks bottlenecks
- Optimization
Optimization
- Will mostly be result of the above
Will mostly be result of the above
Michael Wimmer Vienna University of Technology 5
Analysis Tools Analysis Tools
- Framerate
Framerate logging logging
- DIY (do it yourself), FRAPS
DIY (do it yourself), FRAPS
- Call tracing/logging
Call tracing/logging
- GLTrace
GLTrace
- External profilers
External profilers
- VTune
VTune, Quantify , Quantify
- Internal profiling (fine
Internal profiling (fine-
- grained)
grained)
- RDTSC
RDTSC
- Driver profiling
Driver profiling
- Only available in Direct3D for now
Only available in Direct3D for now… …
Michael Wimmer Vienna University of Technology 6
Frame Rate Calculation Frame Rate Calculation
- Running average
Running average
- Great for a quick look
Great for a quick look
- Obscures spikes over a few frames
Obscures spikes over a few frames
- Per frame FPS calculation
Per frame FPS calculation
- “
“Instantaneous FPS Instantaneous FPS” ”
- High accuracy
High accuracy
- Lots of data
Lots of data
- Graph it out on top of your app
Graph it out on top of your app
- Log it to a file