My Application runs superfast on every machine with OpenGL previous to 2.0. OpenGL 1.5 Machines are slightly slower. But on OpenGL 2.0 machine Framerate breakes down to an avarage of circa 3 Frames with textures enabled. Disabling Textures makes it fly again (800 fps).
I experimented with pixelformates GL_RGB and so on but it in the end nothing changed.
I read that on OpenGL Textures are handled different under OpenGL 2.0 (beside npot) did i oversee something ?
Maybe you use costly super anisotropic trilinear filter, but on lower end cards it is not available so simple bilinear filtering is faster.
Or you don’t use mipmapping, some drivers force automipmaps (faster).
Can you provide more details on the older machines ? cards, driver versions, gl versions ?
with screenelement->GetBitmapData()->Scan0 being a tranceparent image or Null, which later on is filled once by a npot image using subtexture call.
Using GL_RGB instead of GL_BGRA_EXT and GL_RGBA does not speed up.
If they are non-power-of-two and your hardware doesn’t HW accelerate that (extension ARB_texture_non_power_of_two not present), OpenGL 2.0 drivers must emulate that in SW because the functionality went into the core.
Again, what graphics board is slow?
Older HW not advertising NPOT textures should throw a GL error on glTexImage2D then and ignore the texture.
Ok, one eliminated, plenty to go.
Since this is isolated to enabled textures check all glTexParameters. Try different wrapping modes, glTexEnv modes, etc.
Disable all point, line and polygon smoothing.
Blending enabled? Logic ops? Other weird states?