我在Java3D画布上使用postRender()绘制2D元素,并希望为这些元素设置动画。在循环中,我调用Canvas3D.repaint():
while(animationIsRunning){
// I update positions of 2D elements here...
// ...
canvas3D.repaint();
Thread.sleep((long)(1.0/30.0 * 1000));
}
对于每个短动画,这会导致整个3D画布闪烁一次或两次。
答案 0 :(得分:2)
我想我在我的案例中找到了一个解决方案:
而不是
canvas3d.repaint();
我调用
canvas3d.getView().repaint();
这样我就可以用高帧速率更新我的动画而不会闪烁。