Project Idea - Builtin GPU profiler

Threads related to Google Summer of Code
Post Reply
randall
Halfling
Posts: 63
Joined: Sun Jan 23, 2005 1:04 pm
Location: Poland

Project Idea - Builtin GPU profiler

Post by randall »

My idea is to write GPU profiler for Ogre. It would support OpenGL and Direct3D. It would get data from GPU counters and plot various stats and graphs in Ogre application. Something similar that Unigine engine has (www.unigine.com)

What do you think?
User avatar
sinbad
OGRE Retired Team Member
OGRE Retired Team Member
Posts: 19269
Joined: Sun Oct 06, 2002 11:19 pm
Location: Guernsey, Channel Islands
x 66
Contact:

Post by sinbad »

What benefits would this offer over existing tools like nvPerfHUD?
randall
Halfling
Posts: 63
Joined: Sun Jan 23, 2005 1:04 pm
Location: Poland

Post by randall »

support for all platforms and 3D APIs that Ogre supports
User avatar
xavier
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 9481
Joined: Fri Feb 18, 2005 2:03 am
Location: Dublin, CA, US
x 22

Post by xavier »

The issue is that you need instrumented drivers for these counters to be available -- they are not available in the retail drivers. I also am not sure if they are available at the user level -- you might need to have kernel-level support to get at the counters.

ATI also has a performance analysis suite similar to nVidia's.
Do you need help? What have you tried?

Image

Angels can fly because they take themselves lightly.
Lioric
Google Summer of Code Mentor
Google Summer of Code Mentor
Posts: 295
Joined: Fri Aug 06, 2004 10:25 pm

Post by Lioric »

Probably a better approach to your project is to add a "Frame Debugger" class, to be able to "single step" the frame rendering process

In this case the "designer" can easily spot rendering problems (i.e. transparency sort, overdraw, polygon load) at a higher level, and at an early stage of the media creation

Using hotkeys binded to the graphic debugger, the artist/designer can pause the rendering, and render the frame in steps, by object, by batch, by renderqueue, solids, transparents, and get information about each of those steps

The difference is that while more low-level tools are available (as NVPerf) they are not targeted to the artists part of the teams
Post Reply