JDK-8262111 : Lanai : XOR mode rendering performance test results
  • Type: Bug
  • Component: client-libs
  • Sub-Component: 2d
  • Affected Version: internal
  • Priority: P3
  • Status: Resolved
  • Resolution: Delivered
  • OS: os_x
  • CPU: x86_64
  • Submitted: 2021-02-22
  • Updated: 2021-02-23
  • Resolved: 2021-02-22
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.

To download the current JDK release, click here.
Other
internalResolved
Related Reports
Relates :  
Description
There is no support in Metal framework for XOR mode rendering. It has been implemented in Lanai project as a workaround.

To measure performance of this workaround below tests are used -
   1. J2DBench primitive and image rendering options
   2. RenderPerf tests for primitive, image and text rendering in XOR mode

Build used to tests is post EA-9 build which has some review comment fixes done for JDK-8260931 in addition to EA-9.
Comments
J2DBench test measurement: Mac-mini 10.14 with uiScale=2.0 xor_primitives(drawLine) (pixels/sec) OGL : 92932458 Metal : 954611 Result : OGL is 97.35 times faster than metal xor_primitives(drawLineHoriz) (pixels/sec) OGL : 154809322 Metal : 950151 Result : OGL is 162.93 times faster than metal xor_primitives(drawLineVert) (pixels/sec) OGL : 96018949 Metal : 951841 Result : OGL is 100.87 times faster than metal xor_primitives(fillRect) (pixels/sec) OGL : 1390703112 Metal : 88389304 Result : OGL is 15.73 times faster than metal xor_primitives(drawRect) (pixels/sec) OGL : 224354686 Metal : 3749463 Result : OGL is Result : OGL is 59.83 times faster than metal xor_primitives(fillOval) (pixels/sec) OGL : 152638772 Metal : 52578812 Result : OGL is 2.9 times faster than metal xor_primitives(drawOval) (pixels/sec) OGL : 3883244 Metal : 1825960 Result : OGL is 2.12 times faster than metal xor_image(avg) (pixels/sec) OGL : 2776293 Metal : 10118891 Result : Metal is 3.64 times faster than OGL
23-02-2021

Renderperf test is a stress test. Here are the results on macOS 10.15.7 - macBook pro 13" 2015. OpenGL ------------ FlatOval_XOR : 30.15 FPS RotatedBox_XOR : 48.89 FPS Lines_XOR : 64.20 FPS Image_XOR : 0.24 FPS TextNoAA_XOR : 31.21 FPS TextLCD_XOR : 29.95 FPS Metal -------- FlatOval_XOR : 4.53 FPS RotatedBox_XOR : 5.19 FPS Lines_XOR : 5.42 FPS Image_XOR : 0.46 FPS TextNoAA_XOR : 1.70 FPS TextLCD_XOR : 1.67 FPS
22-02-2021