Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-6255507

OGL: use GL_EXT_framebuffer_object extension for improved performance

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Fixed
    • Icon: P4 P4
    • 6
    • 5.0
    • client-libs
    • 2d
    • b51
    • generic
    • solaris_9

      The new GL_EXT_framebuffer_extension is essentially a platform-independent
      replacement for pbuffer and render-to-texture functionality. It allows
      for true render-to-texture functionality without the large VRAM footprint
      requirements of pbuffers. For example, one can create a framebuffer object
      (FBO) with only a 32-bit color buffer and attach a stencil buffer only when
      it is needed. So for apps that don't make use of complex clipping, we could
      probably avoid creating a stencil buffer, which would cut down on VRAM usage.
      Currently, we would need to create a pbuffer to get the same functionality,
      but typically the windowing system will allocate buffers that Java 2D doesn't
      need, such as a backbuffer, depth buffer, accum buffers, and so on.
      (Pbuffers can sometimes require as much as 192 bits per pixel, so the savings
      with FBOs are obvious.)

      Even better, one can render to an FBO without switching contexts (calling
      MakeCurrent() over and over can be costly). Currently, context switching
      overhead makes Swing rendering slower when OGL is enabled. This is because
      Swing will render a couple things into their backbuffer (a pbuffer), copy
      the pbuffer to the screen, and repeat. Each time we switch the context
      from the pbuffer to the screen and back to the pbuffer, we incur significant
      overhead. This overhead can be avoided (or at least minimized) when using
      the FBO extension.
      ###@###.### 2005-04-14 19:32:11 GMT

            campbell Christopher Campbell (Inactive)
            campbell Christopher Campbell (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: