Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Reducing number of MTLRenderEncoders that get created per render pass
  2. Reducing the number of drawPrimitives calls by batching data whenever possible
  3. Using setNeedsDisplay flag of MTLLayer and updating the layer content on AppKit thread in a callback

Current numbers from RenderPerfTest (OGL vs Metal):

BenchOGLMetal

FlatOval(AA)

59(18)52(1)

FlatBox

9093

Image(AA)

94(90)87(89)

RotatedBox

9193

RotatedOval(AA)

64(20)65(2)

LinGradRotatedOval

2854

WiredBubbles(AA)

41(14)41(1)

WiredBox

9196

Lines

8893

FlatQuad(AA)

65(10)0

WiredQuad(AA)

48(14)53(1)

TextNoAA

611

TextLCD

701

TextGray

821