Jump to content
  • Advertisement
  • entries
    316
  • comments
    485
  • views
    325039

Rendering Pipeline Tuning

Sign in to follow this  
Jason Z

547 views

I am a pretty big nVidia fan. I actually specifically bought a laptop with an nVidia GPU to support the cause (plus I bought some stock in them[smile]).

But wouldn't you know it, Dell doesn't update their video drivers very often and I have been trying to use nVPerfHud with my GeForce fx go5200. If you aren't familiar with it, it is a great tool for nVidia hardware - and the lessons that you learn from the manual apply to ATI cards as well. nVPerfHud requires driver versions 77.72 or later, which are not available for my laptop. The nVidia drivers won't even install on this machine, so I tried out LaptopVideoToGo.com, but the driver is not recognized by nVPerfHud and it won't work on my GPU! If anyone knows of a way around this PLEASE let me know how to use this excellent tool!

So, since I don't think I'll be able to use nVPerfHud, I am going to replicate some of it's functionality natively in my engine. This is a good idea anyways, because I want to be able to tune my rendering methods on ATI cards as well.

The part that I am most interested in is the 'Performance Analysis Mode'. The graphs would be nice to implement, but I don't think I really have any way of timing how long I am in the driver, GPU idle time, or CPU idle time. Also, the batch histogram is not really that important for me to have either. I am more interested in being able to disable certain parts of the rendering pipeline and seeing the framerate response to be able to find bottlenecks.

nVPerfHUD allows the following options in Performance Analysis Mode:

B: Show batch size histogram
F: Fade background
H: Hide graphs
W: Show wireframe
D: Show depth complexity
T: Isolate texture unit by forcing 2x2 textures
V: Isolate the vertex shader by scissoring all rasterization work
N: Eliminate GPU by ignoring all draw calls
1,2,3,4,5: Eliminate certain pixel shader levels

The ones that I am interested in reproducing are:

W: Show wireframe
D: Show depth complexity
T: Isolate texture unit by forcing 2x2 textures
V: Isolate the vertex shader by scissoring all rasterization work
N: Eliminate GPU by ignoring all draw calls

These should give a decent indicator of what the major bottleneck is for the given frame. Once I have implemented these I will post a few short descriptions of how it works out.
Sign in to follow this  


0 Comments


Recommended Comments

There are no comments to display.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!