JDK-8151710 : JavaFX: Some shapes do not appear after calling setSmooth(false)
Type:Bug
Component:javafx
Sub-Component:graphics
Affected Version:8u40,9
Priority:P3
Status:Closed
Resolution:Duplicate
Submitted:2016-03-11
Updated:2016-11-21
Resolved:2016-09-16
The Version table provides details related to the release that this issue/RFE will be addressed.
Unresolved : Release in which this issue/RFE will be addressed. Resolved: Release in which this issue/RFE has been resolved. Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.
After using setSmooth(false) the following shapes do not appear correctly:
- Circle
- Path circle
- Arc
Comments
Alexey, is this bug fix still in your plans to meet ZBB (Oct 20)?
http://openjdk.java.net/projects/jdk9/
07-09-2016
OK, we will use the separate bug to track the fix in Pisces.
01-04-2016
I guess that will work too. My thought was that this JIRA was opened as a mirror to a case in the bug db and it might get resolved if customer has an easy global setting or a simple fix on their side.
15-03-2016
Why is a separate bug ID needed? This bug is public so why can it not be used?
15-03-2016
Created a Java Pisces Rasteriser ticket to track the pisces bug
15-03-2016
Mystery solved. Linux is the only platform that doesn't use native pisces rasteriser by default. The test case renders fine on both sw pipe and es2 pipe if I forced JavaFX to use the native pisces rasteriser on Linux. This suggests that this is a bug in the Java pisces rasteriser.
The easy workaround for the application is to set this global property to true:
java -Dprism.nativepisces=true FxTest2
14-03-2016
This looks like a Linux only issue. I ran the test case on all 3 platforms - Linux, Mac and Windows (d3d, es2). Mac and Windows render fine running 8udev (including 8u72) and 9. However I did notice missing shapes if run the test case on Linux and the set of missing shapes are different consistently between es2 pipe and sw pipe. This is puzzling to me. The rendering looks good like in the case of Mac and Windows if I commented all setSmooth(false) statements in the test case. This is essentially back to pre 8u40 where setSmooth(false) is treated as a no-op.
14-03-2016
The smooth property on Shape was ignored prior to 8u40. It is now honored as a fundamental part of the fix for JDK-8094313.
Workaround: Setting smooth=true on all shapes will restore the pre-8u40 behavior.