Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8228573 Analyse performance bottleneck in present Metal implementation
  3. JDK-8232164

Lock renderqueue for least amount of time by making CAMetalLayer asynchronous

XMLWordPrintable

    • 2d
    • generic
    • os_x

      We lock the renderqueue when we are trying to blit back buffer content to CAMetalLayer and in this case when CAMetalLayer is in sync with vsync we will hold on to this renderqueue lock for longer amount of time.

      Also in case of Metal we have to use blitEncoder to copy the content from back buffer to NextDrawable texture. We simply can't assign the back buffer texture to nextDrawable texture as it is read only.

      We need additional check after making CAMetalLayer synchronous so that we dont ask for nextDrawable continuously. We can do that by using nextDrawableCount and request for nextDrawable only after we present the rendered drawable.

      In case of OpenGL we have asynchronous CAOpenGLLayer

            jdv Jayathirth D V
            jdv Jayathirth D V
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: