The lockstep does not solve the problem as there are still frames which escape. That causes the jumping. There are three threads which need to be synchronized:
Main thread: repositioning, repainting
OpenGL Render thread: rendering in OpenGL
Display thread: were everything gets displayed
When Main thread and OpenGL Render thread are locked, the display thread still runs free for some ms. That is where when resizing the OpenGL component the OpenGL rendered content gets distorted until a proper repositioning and repainting took place on the locked threads.
