220 likes | 358 Views
NVTune. Kenneth Hurley. NVTune Overview. 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?
E N D
NVTune Kenneth Hurley
NVTuneOverview • 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.
NVTuneOverview (continued) • How NVTune help you • Captures CPU cycles spent in NVIDIA’S 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 NVIDIA’S Direct X Driver
NVTuneOverview (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
NVTuneOverview (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
NVTune - 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
NVTune - 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.
NVTune - 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
NVTune - 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.
NVTune - Configuration • Easy Configuration • Click on toolbar or menu
NVTune – 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!
NVTune - 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
NVTune - Logging OptionsConfiguration (continued) • Logging Options • None • Minimal logging • Only logs function calls • Medium logging • Logs function calls and < 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 • Doesn’t utilize Virtual Memory for performance reasons
NVTuneAdditional Features • Context Sensitive Help • Online FAQ built into statistics application • Highlight function and press F1. • Some function haven’t 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
NVTuneFuture 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
NVTuneWhere to get it • Available to Registered Developers http://nvdeveloper.nvidia.com Report Bugs/Feature Requests: statdriver@nvidia.com