...
- Reducing number of MTLRenderEncoders that get created per render pass
- Reducing the number of drawPrimitives calls by batching data whenever possible
- Using setNeedsDisplay flag of MTLLayer and updating the layer content on AppKit thread in a callback
- Use multisampling AA for AA primitive rendering
Current numbers from RenderPerfTest (OGL vs Metal):
...
FlatOval(AA)
...
79(18)
...
80(14)
...
FlatBox(AA)
...
80(79)
...
82(73)
...
Image(AA)
...
77(78)
...
81(82)
...
RotatedBox(AA)
...
78(74)
...
80(73)
...
RotatedOval(AA)
...
74(21)
...
76(18)
...
LinGradRotatedOval
...
72
...
WiredBubbles(AA)
...
80(15)
...
32(12)
...
WiredBox
...
81
...
81
...
Lines
...
79
...
83
...
FlatQuad(AA)
...
82(8)
...
49(4)
...
WiredQuad(AA)
...
78(12)
...
75(10)
...
TextNoAA
...
75
...
37
...
TextLCD
...
36
...
TextGray
...
68
...
37
...
LargeTextNoAA
...
The scores of performance metrics for Java 2D Metal rendering are placed at The performance charts for Java 2D Metal rendering
31-March-2020
The three main areas of implementation and there status is -
...