I see two possible causes:
-you don’t have hardware acceleration - that means your pixel format is not selected properly or you have wrong drivers. Check what glGetString(GL_RENDERER) returns.
-your rotation speed depends on framerate - this is design problem. It happens when you rotate the object by the same step every frame. Except for rotating by mouse you should scale your rotation speed by current frame time.
since you posted something about NPOT textures, i assume the texture you use is NPOT? maybe NPOT textures are not hardware accelerated on your gpu and therefore you will have better performance with a POT texture.