On an ATI X1550 (crappy test card, I also have a GEForce 8800) simply adding a color array with a VBO causes a 60% drop in framerate. If I use a regular color array, along with all the other data in VBO’s, performance is the same as when no color is used.
Use GLfloat instead of GLubyte… Sound strange but it worked for me…
What type and number of components did you use for the color? ATI cards require 32bit alignment of the stream elements so 3 component UNSIGNED_BYTE element is not supported and the driver needs to emulate that which is slow with the VBO. You need to use 4 component UNSIGNED_BYTE.
I was using just RGB. I switched it to a 4-component color and it ran fine. Thanks for the advice.