我有一个窗口显示一个视频流,其中包含一个twitter feed作为叠加层。 当显示新的推文时,使用旋转动画生成当前推文,并将下一条推文旋转到视图中。动画使用RotateTransition
执行。JavaFX动画闪烁
该应用程序还可以在不同的摄像头之间切换以显示不同的流。为了指示应用何时切换到下一个摄像头,我有一个进度条,使用Timeline
对象填充。
这很好,直到我调整窗口大小。随着渐进式填充,旋转动画随着进度条开始闪烁。
作为测试,我禁用了视频流,看看发生了什么。那时'artifact'不会出现,我可以根据需要调整大小。如果我播放流并且不调整大小,那么一切正常。
该视频播放器基于VLCJ,但实际像素是在WritableImage
的Imageview
上绘制的。
请参阅下列说明问题的图像。
在你可以看到2个不同的进度条(一ProgresBar
和ProgressIndicator
)的右下角。
闪烁结果的一部分在第二张图像下仍然可见。它以某种方式保持可见,可能是因为该区域未被重绘。
任何想法是什么使闪烁发生?我能做些什么来解决或避免这种情况?
我尝试了IntelliJ中的一些VM选项:-Dsun.java2d.d3d=true -Dprism.forceGPU=true
以某种方式启用硬件加速,但这似乎没有帮助。
禁用进度条填充动画也没有帮助。