I am using FPSAnimator and jogl to draw rotating quad on GLCanvas. Normally graphics is not flickering and rotation is smooth, but when I resize window, or move it from nonvisible area of screen to visible area additional red开发者_如何学编程raw requests are added. How can I filter out these additional requests as all drawing is done by FPSAnimator
You can try passing the parameter: -Dsun.awt.noerasebackground=true
to the JVM on the command line. This should reduce/remove the flickering.
The problem is described on the JoglUserGuide
Specifically:
Another issue that occasionally arises on Windows is flickering during live resizing of a GLCanvas. This is caused by the AWT's repainting the background of the Canvas and can not be overridden on a per-Canvas basis, for example when subclassing Canvas into GLCanvas. The repainting of the background of Canvases on Windows can be disabled by specifying the system property -Dsun.awt.noerasebackground=true. Whether to specify this flag depends on the application and should not be done universally, but instead on a case-by-case basis. Some more detail is in the thread "TIP: JOGL + Swing flicker" in the JOGL forum.
精彩评论