The mouse move event handler may be called hundreds or thousands of times during a finger drag. The mouse handler should inspect the event and record the rectangle you intend to draw in a member variable. Call update() only if it changes materially. The mouse move event handler should not draw anything: that is the exclusive domain of the paintEvent()/paintGL().
If you want specific advice then post actual code that behaves poorly.
Do any of the Qt demo/example OpenGL programs behave poorly?
Bookmarks