View Issue Details

IDProjectCategoryView StatusLast Update
0005851The Dark ModGraphicspublic21.12.2021 17:22
Reporterstgatilov Assigned To 
PrioritylowSeverityminorReproducibilityN/A
Status newResolutionopen 
Product VersionTDM 2.10 
Target VersionTDM 2.11 
Summary0005851: Stencil shadows with multisampling: don't blit whole framebuffer
DescriptionAfter 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).
TagsNo tags attached.

Activities

There are no notes attached to this issue.

Issue History

Date Modified Username Field Change
21.12.2021 17:22 stgatilov New Issue