Tag: vsync

使用没有Opengl或Direct3d管道的Java2d进行平滑绘图?

当禁用opengl和direct3d管道时(通过使用-Dsun.java2d.d3d = false和-Dsun.java2d.opengl = false调用vm),我无法找到使用Java2d进行任何平滑移动或动画的方法 下面的快速和脏代码演示了我的问题。 它绘制了一个在屏幕上移动的框。 盒子位置每秒更新大约60次,屏幕重绘次数尽可能多。 它使用BufferStrategy类来实现双缓冲; 翻转是在“bs.show();”完成的。 代码(按退出退出): import java.awt.Color; import java.awt.Frame; import java.awt.Graphics; import java.awt.GraphicsConfiguration; import java.awt.GraphicsDevice; import java.awt.GraphicsEnvironment; import java.awt.Rectangle; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.awt.image.BufferStrategy; public class FluidMovement { private static volatile boolean running = true; private static final int WIDTH = 500; private static final int HEIGHT = […]