Description
The ShaderRectRep class implements an optimization to amortize the calculation of the parallelogram bounds for Antialiased rectangles.
Unfortunately, the transform validation in that class caused the bug reported as RT-5788 since it tried to use the transform's hash code to detect changes in the transforms. Unfortunately a hashcode is insufficient to detect transform changes since two non-equal transforms can have the same hash code. As a result that class had to be disabled in the Prism graphics stack.
Thus, the fix for 5788 has left us with a missing opportunity for a performance fix. The performance gains of caching the parallelogram vertices needs to be reimplemented in a way that does not cause the bug in RT-5788.
Unfortunately, the transform validation in that class caused the bug reported as RT-5788 since it tried to use the transform's hash code to detect changes in the transforms. Unfortunately a hashcode is insufficient to detect transform changes since two non-equal transforms can have the same hash code. As a result that class had to be disabled in the Prism graphics stack.
Thus, the fix for 5788 has left us with a missing opportunity for a performance fix. The performance gains of caching the parallelogram vertices needs to be reimplemented in a way that does not cause the bug in RT-5788.
Attachments
Issue Links
- relates to
-
JDK-8090473 Prism: Math.floor and Math.ceil take up a lot of cpu time
- Open