View Full Version : nVidia and playblast
02-20-2001, 02:33 PM
What is the fastest way to playblast large RGB image buffers (greater then 1k) on the nVidia Geforce 2 cards.
I tried glDrawPixels and glTexSubImage2D, any other ways of improving performance?
02-20-2001, 04:10 PM
Use the data format GL_UNSIGNED_BYTE/GL_BGRA, if you're not already.
02-21-2001, 08:47 AM
I was using UNSIGNED_BYTE/GL_RGB. Changing to new format did not cause any enhancement.
02-21-2001, 08:49 AM
I was using UNSIGNED_BYTE/GL_RGB, changing to the new format did improve anything?
02-21-2001, 10:02 AM
What did you do? Did you actually pad your data with dummy alpha values and use GL_BGRA, or did you just switch to GL_BGR? GL_BGR will do no good. GL_UNSIGNED_BYTE/GL_BGRA DrawPixels definitely _is_ faster than either GL_RGB, GL_BGR, or GL_RGBA, I can assure you.
02-22-2001, 11:26 PM
Hmmmm... Matt, you say GL_BGRA is faster, does that mean you get faster performance using GL_BGRA for the internal format of textures, or only when doing frame buffer reads and such like?
02-23-2001, 08:44 AM
GL_BGRA is not an internal format -- GL_RGBA and GL_RGBA8 are, but GL_BGRA is not.
However, GL_BGRA/GL_UNSIGNED_BYTE (format/type) is the fastest way to download to GL_RGBA8 (internalformat), and for that matter, to GL_RGB8 too.
on my vanta (6.34 drivers) using
glDrawPixels(SIZE, SIZE, GL_BGRA_EXT, GL_UNSIGNED_BYTE, pixels4 );
is slightly slower than
glDrawPixels(SIZE, SIZE, GL_RGBA, GL_UNSIGNED_BYTE, pixels4 );
and more than 20x slower than
glDrawPixels(SIZE, SIZE, GL_RGB, GL_UNSIGNED_BYTE, pixels4 );
glutInitDisplayMode(GLUT_RGBA | GLUT_DEPTH | GLUT_DOUBLE);
02-23-2001, 07:47 PM
I don't know about that, specifically, but DrawPixels is not very fast on TNT2. I am specifically talking about GeForce here.
Powered by vBulletin® Version 4.2.0 Copyright © 2013 vBulletin Solutions, Inc. All rights reserved.