A new technology that didn’t cut it to the game due to delays in buffer creation and recreation which defeats its very own purpose of reducing rendering latency. Khronos Group should optimize Framebuffer creation at the very least.

[Update 10/10/2013: Source code updated for Xcode4 and various bugs fixed].

Basically it’s a dynamic system that upscales/downscales resolution depending on the latency of the rendering.  The system not only does resolution upscale and downscale, but also turning effects on/off ( shader quality, texturing hints, pixel shaders etc. ). It samples the latency at a set time interval (every  x seconds for example). After a pre-set limit of number of samples have been taken, it averages and makes the decision to upscale o downscale.

Pros:

  • Maintains almost constant framerate!
  • Removes need to tweak performance for each platform

Cons:

  • Transition between resolutions isn’t smooth (need to recreate buffer…)

Simplified Algorithm:

  • 1. Sample latency.
  • 2. If lower then threshold
    • 2.1 Lower Resolution/Effects
  • 3. else
    • 3.1 Increase Resolution/Effects

Video of Example in a project:

Poez Inc. Adaptive Resolution Tech. from Poez Inc. on Vimeo.

 

At 70% of the original resolution:

At 50% of the original resolution: