Title: NVTune
1NVTune
2NVTuneOverview
- What issues are we trying to solve?
- Games and applications need to have high frame
rates - Answer questions for developers
- How well is my code interfacing with the driver?
- Is it possible to speed up the process?
- Why is the hardware not doing what I expect?
- Are there logic errors in my use of Direct X?
- How can we solve these issues?
- Have the driver tell us where it is spending its
time - Have the driver output any problems it may see.
- Example Using a texture stage in the wrong way
- Example Locking a front buffer causing the
triangle pipeline to stall.
3NVTuneOverview (continued)
- How NVTune help you
- Captures CPU cycles spent in NVIDIAS driver
code. - Simple and easy to use
- Enhances other development tools such as VTUNE,
in that it gives more of a breakdown of what is
happening in the driver. - Low overhead. Display refresh is specified by the
user. Logging display is at lowest priority for
a thread. - Newest code and driver will allow more of an
inside view of what is going on inside the
GeFORCE. - Directly tied into NVIDIAS Direct X Driver
4NVTuneOverview (continued)
- Architecture
- Time stamp counter used (RDTSC)
- VXD/SYS Interface for application and driver
- Logging output is directly from the driver
Log Global Memory
Statistics Application
D3D Driver
Data
Statistics VXD
Hardware
5NVTuneOverview (continued)
- What it captures (examples)
- Draw Primitives (indexed, non-indexed, wireframe,
etc.) - Blits
- Flips
- Render State changes
- Resource Lock/Unlock
- Textures
- Vertex buffers
- Surfaces
- All function calls that reach the driver
6NVTune - Toolbar
- Toolbar
- New - Opens three new windows, if no windows are
open. - Save - Saves active window in comma delimited
format - Cut - No action currently
- Copy - No action currently
- Paste - No action currently
- Print - No action currently, will print current
window - View D3D function window
- View frames per second window
- View log window
- Start statistics capture
- Stop statistics capture
- Erase values in current window
- Connect to remote statistics machine
- Set configuration
7NVTune - Function Split Window
8NVTune - Function Split WindowContinued
- Function split window
- Allows you to choose which functions are
displayed during statistical capture - Functions are not persistent if Active Only is
checked in the configuration - Data can be saved to comma delimited text file
- Updates at specific time intervals
- Displays function, class, number of hits, CPU
clocks, of total functions and of CPU usage. - Sorting by column is enabled. Sorting
automatically updates every refresh.
9NVTune - Frames Per Second Graph
10NVTune - Frames Per Second Graph Continued
- Frames per second graph
- Cursor allows you to look at a particular frame
and what the average frame rate is. - Visual cues, on spikes/lows for 3d functions
11NVTune - Logging Window
12NVTune - Logging WindowContinued
- Logging Window
- Visual output for logging data.
- Can be saved to comma delimited text file. This
allows you to import into excel and make your own
graphs.
13NVTune - Configuration
- Easy Configuration
- Click on toolbar or menu
14NVTune General Options
15NVTune General OptionsContinued
- Logging Level
- Decimal/Hexadecimal display for programmers
- Display only active functions
- Allow automatic updating of only functions that
are active - Hotkey Sets the hotkey that turns the capture
on/off. - Allows full screen applications to capture data
inside of game - Any key combination can be used
- When setting press one key at a time then dialog
will skip to next edit box - Remote Access
- Small stub on target machine
- Across TCP/IP through use of IP address or
machine name - Still in Development!
16NVTune - Capture Options
17NVTune - Capture OptionsContinued
- Frame End Signaling
- Sets how frames are ended
- Flip, blit to front buffer or Begin/End Scene
Pairing - Range Capture Enable
- Enable start and stop between successive frames
- Enable checkmark, then set start and ending frame
to capture between - Refresh interval in milliseconds
- How often visual updates are made in function
window
18NVTune - Logging Options
19NVTune - Logging OptionsConfiguration (continued)
- Logging Options
- None
- Minimal logging
- Only logs function calls
- Medium logging
- Logs function calls and lt 1 DWORD parameters
- Maximum logging
- Logs function calls, all parameters and vertices
- Performance Warnings
- Shows red highlighted performance problems
reported by driver - Logging Memory
- Sets how much memory for logging file
- Doesnt utilize Virtual Memory for performance
reasons
20NVTuneAdditional Features
- Context Sensitive Help
- Online FAQ built into statistics application
- Highlight function and press F1.
- Some function havent been documented yet. If
you find one let us know and we will document it - Search function for log files
- Use Ctrl-F to find
- Use F3 to find again
21NVTuneFuture Enhancements
- GeFORCE Specific features
- Ability to track additional features such as
pixels per clock, pipeline stalls and almost
anything that can happen inside of the hardware. - This will be made available through performance
monitor registers. - Transform and Lighting CPU usage inside of
drivers - DX7/DX8 additional RenderStates
- Windows 2000/Windows 9x Support
22NVTuneWhere to get it
- Available to Registered Developers
- http//nvdeveloper.nvidia.com
- Report Bugs/Feature Requests statdriver_at_nvidia.co
m