Applications that can’t use the GPU for some reason (such as the graphics card does not support some of the OpenGL extensions that your code uses) use the software renderer as a fallback. If you notice a drop in the performance of your application, you may want to check whether the application is using the GPU as you expect.
Starting in Mac OS X v10.5, you can set your application to break whenever it uses the software renderer as a fallback. (See “Checking for Application Errors, Thread Conflicts, and Software Fallbacks.”) Prior to Mac OS X v10.5, you can monitor the GPU use of your application whenever your application pauses at a breakpoint. The best breakpoints to check are:
CGLFlushDrawable
After glUseProgramObjectARB
After glBindProgramARB
Any glDraw or related command, including the following:
glAccum
glBegin
glBlitFramebufferEXT
glBitmap
glClear
glCopyPixels
glDrawPixels
glReadPixels
glCopyTexSubImage*D
glCopyTexImage*D
glDrawArrays
glDrawElements
glDrawRangeElements
When your application pauses at these breakpoints, check the values of kCGLCPGPUFragmentProcessing and kCGLCPGPUVertexProcessing shown in the Call Stack pane of the Breakpoints window. A value of GL_TRUE indicates that your application is using the GPU for the process associated with the constant.
Last updated: 2008-02-08