I’m porting a GL apps right now on OS X and I’ve noticed weird slowdowns when I use half float VBOs. The target computer is a new MBP 2011 with an ATI 6750M.
The slowdowns are happening in the glDrawElements function (which takes forever to complete). Since I don’t have that problem with 32 bit float VBOs, I wonder if the driver doesn’t try to convert the VBOs back to 32 bit before sending the data to the GPU ? I’ll try to find a mac with an nv GPU to compare.
I’ve done a little google search and found nothing interesting. I’m wondering if it is a known problem ?
I’ve done a quick test on a mac with an nvidia 9400M and I’ve got no slowdown at all (same code, same OS X version), it seems to appear only on the AMD 6750M for now (I can’t confirm on other AMD model).
My test mesh vertex attributes are:
position : 3 half
texcoord: 2 half
normal: 3 half
occlusion: 1 half
tangent: 3 half
curvature: 2 half
126290 vertices and 755712 unsigned int indices (It’s suzanne model from Blender software with 4 subd).