【发布时间】:2019-05-10 17:40:41
【问题描述】:
我有一个 Java/JavaFX 应用程序部署为 Windows 和 Mac 的本机安装。捆绑的运行时当前是 8.121。您可以在此处找到安装程序和 Java 代码:George download
在过去的 15 个月里,我每周(有 20 个孩子)在教室里使用这个应用程序,从一开始我就发现了以下问题:
按钮有时会消失。也就是说,它们被简单地渲染为一个白色矩形,使它们实际上几乎不可见。背景和标签/文本都消失了。
这主要发生在鼠标悬停时,但不会自行纠正。 按钮仍然存在,并且可以点击。
它只是偶尔发生,但它似乎在某些机器上比其他机器更容易发生。现在是 Windows 10,但以前在小型 Windows 7 机器上也发生过同样的情况。
我想我自己无法重现它,而且我从未在 Mac 上见过它。
它现在有时也会发生在其他小部件/控件上,甚至在任何用户交互之前。
这方面是否存在一些已知问题? 有没有其他人描述过类似的东西? 可能与某些小的操作系统调整有关?
任何想法或想法将不胜感激。
更新 (2018-11-06)
刚开始在带有 Windows 10 的 VirtualBox 中使用 Java 8 测试我的应用程序,现在我自己遇到了渲染错误。万岁!
查看 -Dprism.xxx 选项,我发现了这篇文章: http://werner.yellowcouch.org/log/javafx-8-command-line-options/
用-Dprism.threadcheck=true测试,我得到了很多
带有堆栈跟踪的“错误:PrismPen / FX 线程共同运行:DIRTY:false”。
不过,设置 -Dprism.dirtopts=false 并不能解决我的问题。
但是使用-Dprism.order=sw 运行可以。但这对于可能进行一些要求苛刻的渲染(Turtle Geometry)的应用程序来说不是一个好的解决方案。
会继续挖掘。
【问题讨论】:
-
可能是图形驱动程序问题... 使用
-Dprism.order=sw运行可以解决问题吗? (参见例如this question)。如果是这样 - 您可能想尝试安装新的或旧的驱动程序,看看是否一个比另一个更好...... -
是的,我已经想到了。在儿童机器上进行测试有点棘手/耗时。但有可能。我将在下周尝试,并得到任何结果。 (我可能会提前准备一个 Windows 批处理脚本来轻松地进行测试。)
-
我遇到了同样的问题。然后我注意到有一个我没有看到的异常。修复异常为我解决了这个问题(到目前为止,AFAIK。很难验证)