View Revisions: Issue #1805

Summary 0001805: Allow adjusting OffscreenSampleCount at any time
Revision 2020-10-12 15:49 by ai_enabled
Description Hi guys,

as I've reported here https://www.noesisengine.com/bugs/view.php?id=1686#c6654 this is pretty much essential:

"The big problem here is that the game allows the player to change MSAA setting on the fly (off/2x/4x/8x). Currently, the Noesis View must be recreated in order to initialize it with new RenderDeviceD3D11 (that has new OffscreenSampleCount). Simply changing OffscreenSampleCount for the existing RenderDeviceD3D11 instance is not enough and I can guess why.

I wish we could change this on the fly as recreating a View object is a big no-no. It causes an issue with a multitude of other systems.
E.g. allowing the call to view.Renderer.Init(renderDeviceD3D11) again after it was already initialized would solve this problem (as I can change device's OffscreenSampleCount and call view.Renderer.Init). Currently, it's not supported as further access to the renderer object results in a memory access violation."

The problem is that the View is already propagated itself to various game systems (for example, we're using it to set up all the menus, recreating them without reloading the whole UI is not possible).

Regards!
Revision 2020-10-12 15:48 by ai_enabled
Description Hi guys,

as I've reported here https://www.noesisengine.com/bugs/view.php?id=1686#c6654 this is pretty much essential:

The big problem here is that the game allows the player to change MSAA setting on the fly (off/2x/4x/8x). Currently, the Noesis View must be recreated in order to initialize it with new RenderDeviceD3D11 (that has new OffscreenSampleCount). Simply changing OffscreenSampleCount for the existing RenderDeviceD3D11 instance is not enough and I can guess why.

I wish we could change this on the fly as recreating a View object is a big no-no. It causes an issue with a multitude of other systems.
E.g. allowing the call to view.Renderer.Init(renderDeviceD3D11) again after it was already initialized would solve this problem (as I can change device's OffscreenSampleCount and call view.Renderer.Init). Currently, it's not supported as further access to the renderer object results in a memory access violation.


It's simply not viable for us to adjust OffscreenSampleCount after the render device was already created as it requires recreating the View. And the View is already propagated itself to various game systems (for example, we're using it to setup all the menus, recreating them without reloading the whole UI is not possible).

Regards!