This makes a lot of sense in OpenGL (with a Geometry Shader) but in something like Metal I'm not sure you would get a lot of efficiency gains due to the way the command encoder manages state where each encoder would be a separate target with set of render states. With Vulkan you can actually re-use command buffers so theoretically you could get even better performance.
As far as the additional memory cost; the 2x memory on a PS4 may seem trivial but it certainly is not on a mobile device trying to do VR.
Great article, though. Inigo is truly a genius (his articles on tracing equations is a regular reference whenever I do any analytic gpu stuff).
A typical high end phone has 2-3GB of ram. Half as much as a PS4, and vastly more than a PS3. It should be able to handle a couple doubled buffers. Overall memory use doesn't go up very much.
I've never actually done any mobile development, but I was under the impression that mobile GPUs typically used tiled rendering to save memory usage because they were already tight on VRAM.
This is quite logical and I've been wondering--isn't this at odds with (future) dual SLI one-eye-per-card techniques?
Would it make sense for dual SLI VR setups to go back to the old "card 1 renders the top half of the screen and card 2 goes bottom"? Then you wouldn't need 2x sized framebuffers.
As far as the additional memory cost; the 2x memory on a PS4 may seem trivial but it certainly is not on a mobile device trying to do VR.
Great article, though. Inigo is truly a genius (his articles on tracing equations is a regular reference whenever I do any analytic gpu stuff).