Skip to main content
Up and Coming
December 11, 2015

Rendering faster with instancing: 10-80% improvement

Hey guys!

I'm working on jMonkeyVR, a plugin for jMonkeyEngine that supports all SteamVR devices (Rift, Vive, OSVR etc.). Both are free, open-source projects anyone can use even for commercial purposes.

Unity & Unreal have been working on instancing as a way to render a VR scene in one pass efficiently, so I took out to do the same with jMonkeyVR. Working pretty good!



When draw calls are a bottleneck in simple scenes, you get about 80% faster rendering with this method. In the screenshot above where fragment shaders are a bottleneck, I get about 10% faster. I'd suspect most uses would see 20%-40% improvement with no loss in resolution. Special effects shouldn't need to be run twice, since only one viewport & rendering pass is being made, which can save performance too (which wasn't tested in the above screenshot).

The main thread on this is here:

http://hub.jmonkeyengine.org/t/vr-rende ... cing/34461

Engine & plugin information (github) is here:

https://github.com/phr00t/jMonkeyVR/

My site: http://www.phr00t.com/

I hope someone finds it useful!

- Phr00t

    4 replies

    Inspiring
    December 11, 2015
    Very cool.
    AMD Ryzen 7 1800X | MSI X370 Titanium | G.Skill 16GB DDR4 3200 | EVGA SuperNOVA 1000 | Corsair Hydro H110i Gigabyte RX Vega 64 x2 | Samsung 960 Evo M.2 500GB | Seagate FireCuda SSHD 2TB | Phanteks ENTHOO EVOLV
    Up and Coming
    December 14, 2015
    That's pretty impressive :D
    phr00tAuthor
    Up and Coming
    December 18, 2015
    Posted a video of 5089, which is using VR instancing:


    phr00tAuthor
    Up and Coming
    December 22, 2015
    Made many improvements -- complex scenes now see far more than 10% improvements. I also got shadows & other effects, like SSAO, working alongside VR instancing:



    This means there are no additional passes or shadow maps needed for VR rendering (vs non-VR rendering).