Render on demand
I haven't looked at Noesis GUI for a while so excuse me if this is old news, but is it possible now to render on demand? So instead of wasting battery/CPU/GPU time, only render when something has changed?
- ai_enabled
- Posts: 231
- Joined:
- Contact:
Re: Render on demand
Yes, that's possible. You have complete control over when NoesisGUI renders and where it renders.
AtomicTorch Studio Pte. Ltd. http://atomictorch.com
-
sfernandez
Site Admin
- Posts: 3008
- Joined:
Re: Render on demand
Hi,
Which SDK are you using: native C++, C# or Unity?
In C++ and C# SDK you decide when to call Render() to draw the UI, so you have total control.
In Unity there are 2 scenarios:
- If NoesisGUIPanel is attached to the main camera, then we render whenever Unity updates the main screen.
- If NoesisGUIPanel is attached to an object with a RenderTexture, then you can control when UI is rendered by enabling/disabling the object.
Which SDK are you using: native C++, C# or Unity?
In C++ and C# SDK you decide when to call Render() to draw the UI, so you have total control.
In Unity there are 2 scenarios:
- If NoesisGUIPanel is attached to the main camera, then we render whenever Unity updates the main screen.
- If NoesisGUIPanel is attached to an object with a RenderTexture, then you can control when UI is rendered by enabling/disabling the object.
Re: Render on demand
I use Unity, using a render-texture in order to render to virtual "displays" in the scene.
But if I disable the object, the virtual screen will disappear as well, which kind of defeats the purpose. Or am I missing something?
But if I disable the object, the virtual screen will disappear as well, which kind of defeats the purpose. Or am I missing something?
-
sfernandez
Site Admin
- Posts: 3008
- Joined:
Re: Render on demand
Hi,
You can have the object with the NoesisGUI component in a different layer and render it only when texture needs to be updated. This layer won't be rendered by the Main Camera, but you can apply the same texture to any other object included in the default layer and you will see the UI always there, even if you disable the NoesisGUI object from the other layer.
Do you understand what I mean?
You can have the object with the NoesisGUI component in a different layer and render it only when texture needs to be updated. This layer won't be rendered by the Main Camera, but you can apply the same texture to any other object included in the default layer and you will see the UI always there, even if you disable the NoesisGUI object from the other layer.
Do you understand what I mean?
Re: Render on demand
Anyway this is far from being an optimal solution. In v1.3 we are working to support this transparently if the user indicates that the content of the buffer is preserved from frame to frame. In that scenario we can avoid doing paints or just updating only the changed areas.
Re: Render on demand
This is awesome! +10 for render changed regions only.
Who is online
Users browsing this forum: Ahrefs [Bot] and 3 guests