Java 1.6中Java Swing App中的绘画问题

Avr*_*rom 5 java swing paint

我正在研究一个Swing应用程序(目前运行在Java 1.6更新11上),它有一些间歇性的绘制刷新问题(例如有工件等).这只发生在我们应用程序的某些用户而不是其他用户.

之后做一些研究,我发现,设置属性sun.java2d.d3d,以false可以帮助而事实上,它帮助我们的用户之一.

现在其他一些用户正在抱怨这个问题,我正在考虑false为所有用户设置属性.

我的基本问题如下:

究竟是什么原因造成的?是视频卡吗?是司机吗?这是Sun的错误吗?(例如http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6635462)三者的组合?

换句话说,最好是简单地关闭此属性,还是仅影响某些更新到最新驱动程序的视频卡?

DJC*_*rth 2

Java 在 R6 update 10 中引入了基于 Direct3D 渲染图形的管道。根据此处的发行说明,它仅支持 NVidia 和 ATI 卡,这意味着任何不使用这些卡的人都可能会遇到问题。由于这是一项最近的创新,我建议任何使用这些卡的旧驱动程序的人也可能会遇到问题。升级视频驱动程序可能会解决第一种情况,但不能解决最后一种情况。

如果将 sun.java2d.d3d 设置为 false,可能发生的最坏情况是某些用户将无法实现理论上可以达到的性能。您必须权衡这是否比您目前遇到的问题更可取。