[OpenJDK Rasterizer] Fwd: Re: Fwd: RFR: Marlin renderer #3
Laurent Bourgès
bourges.laurent at gmail.com
Wed Jul 8 13:41:09 UTC 2015
Jim,
>
> Interesting numbers. It was hard to read the formatting on the diff
> below, but I got the gist of what was happening.
>
Sorry for the bad formatting but you had a chance to understand what I did:
great !
>
> Were the ceil(coord) measurements taken with the new ceil_int() code? For
> this case it might make sense to call ceil_int() directly since we can be
> pretty sure that the fp coordinate values are all in the integer range
> (since these are drawable-relative numbers).
>
It uses FloatMath.ceil() that internally use the ceil_int() implementation
for performance.
I agree it should use directly the ceil_int() to be more explicit.
> Another technique to try would be to use longs which would involve a
> 64-bit shift to get the integer part, but there is already a 32-bit shift
> to add the error overflow anyway.
>
I may try as a last chance if removing Unsafe usage is not faster.
I really like this approach as it will remove a lot of code = Unsafe usage
+ OffHeapEdgeArray + dispose / cleaner thread.
Moreover, hotspot may optimize more such normal array accesses than Unsafe
calls (intrinsics); however, it may also introduce array bound checks ...
To be continued ... but anyway, I really like the fixed-point solution:
fast and more accurate.
Laurent
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/graphics-rasterizer-dev/attachments/20150708/fedb1fb9/attachment.html>
More information about the graphics-rasterizer-dev
mailing list