Follow-on bugs
Michael Paus
mp at jugs.org
Tue Nov 29 07:35:07 UTC 2016
Am 29.11.16 um 01:09 schrieb Jim Graham:
>
> With respect to float/double, I have another bug somewhere where we
> have a large inaccuracy for a very large circle that intersects the
> viewing area along only a very tiny portion. The errors get
> especially bad with dashing because we iterate each dash using an
> incrementally relative sub-divide rather than returning always to the
> original curve to sub-divide from t1-to-t2. I'll look it up and send
> you a pointer so you can see how Marlin does with those paths. I
> believe that I briefly modified the Pisces Dasher to simply use
> doubles and the problem went away, but I didn't do any performance
> analysis and the newly accurate dashes no longer matched the
> still-float-based fills so more work was needed. Modern processors
> tend to deal with double precision natively and so other than storage
> considerations double calculations are often as fast or sometimes
> faster than float (because of not needing to be cast back to 32-bit
> float when the FPU always produces 64-bit double answers)...
I can help you out here because I have reported these bugs. The
references are
https://bugs.openjdk.java.net/browse/JDK-8160599
https://bugs.openjdk.java.net/browse/JDK-8160600
I also think that using doubles instead of floats would make things much
more accurate
especially as the user actually can expect that because the JavaFX API
also uses doubles
and it is not clear to the user that this is currently reduced
internally to float.
Michael
More information about the openjfx-dev
mailing list