Forum Discussion
Visual Effects in Mixed Reality - MR Speaker Series - Nov. 3rd
That was a pile of fun! Thanks everyone that dropped in or asked questions, I hope that was a useful talk for everyone 🙂
If you missed it, you should be able to get back to the Live event recording! You'll also be able to find it in its raw format over here on our docs site once captioning is finished!
Thanks for this koujaku, it was very valuable - good length, good content and the format of the talk allows some interactivity (although I watched the recording)
One question, you told that it is not recommended to use geometry shader for performance issues. Does it also apply to tessellation stage ? We've made some domain/hull shaders and we did not notice a huge performance impact
- koujakuNov 05, 2020Iron Contributor
Glad you enjoyed it! 🙂
Regarding geometry shaders, this is a pretty deep exploration of why geo shaders aren't that great ( http://www.joshbarczak.com/blog/?p=667 ). The article is about 5 years old, but this still seems to hold true! My own experiences with the shaders in Designing Holograms seems to confirm this for the HoloLens as well. I believe that mesh Shaders are the re-envisioned solution for this space, but they're still young, and I don't know much about them yet?
Unfortunately, I don't have experience with tesselation shaders! I haven't heard much specifically about them either, so I don't know if it has similar problems or not. As with all things performance related though, it's a good idea to measure things and see 🙂 For Designing Holograms the frame-rate drop was obvious and fairly severe, and I knew about issues with geo shaders already! I could pick it up just by watching a FPS counter and correlating it with what's in the scene. But even geo shaders are fine if you have the headroom for them! The big reason that effect used a geo shader to begin with was because it was based on the MRTK hand shader, which in its own context hasn't really been problematic.
It's mostly helpful to know that solution space can have performance implications, so when you are tracking down performance issues, you have a better idea of where to look first 🙂