View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0005851||The Dark Mod||Graphics||public||21.12.2021 17:22||21.12.2021 17:22|
|Product Version||TDM 2.10|
|Target Version||TDM 2.11|
|Summary||0005851: Stencil shadows with multisampling: don't blit whole framebuffer|
|Description||After real multisampling was returned back (I guess it was in 2.08), we had very inefficient implementation of stencil shadows.|
I have fixed the simple issue causing huge slowdowns for 2.10, but some inefficiency still remains.
After we finish rendering the stencil buffer, we always blit-resolve the whole screen.
This means increased memory bandwidth, which is often the main bottleneck.
The original Doom 3 was very careful to limit light-related operations to the scissor rectangle, and we should do the same for blit-resolve.
Of course, there will be issues, e.g. currently Framebuffer class does not support blitting rectangle.
Moreover, if we blit a rectangle, it is not obvious how to specify the rectangle (there are different many ways due to e.g. "render scale").
Maybe it makes sense to add a flag "respect scissor", and specify the rectangle via OpenGL scissor (which already has multiple functions to set it).
|Tags||No tags attached.|