Forum Discussion
phr00t
10 years agoHonored Guest
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
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
- cyberealityGrand ChampionVery cool.
- Mike_GHonored GuestThat's pretty impressive :D
- phr00tHonored GuestPosted a video of 5089, which is using VR instancing:
- phr00tHonored GuestMade 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).
Quick Links
- Horizon Developer Support
- Quest User Forums
- Troubleshooting Forum for problems with a game or app
- Quest Support for problems with your device
Other Meta Support
Related Content
- 4 months ago
- 12 months ago
- 6 months ago
- 6 months ago
- 3 years ago