View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0005851 | The Dark Mod | Graphics | public | 21.12.2021 17:22 | 14.08.2022 19:14 |
Reporter | stgatilov | Assigned To | stgatilov | ||
Priority | low | Severity | minor | Reproducibility | N/A |
Status | resolved | Resolution | fixed | ||
Product Version | TDM 2.10 | ||||
Target Version | TDM 2.11 | Fixed in 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. | ||||
Done in commits: r10075 Refactoring scissors. r10076 Implemented FrameBuffer::BlitToVidSize to copy part of FBO. r10077 Copy only light scissor region during stencil shadows AA resolve. I had some bugs when I was trying to respect GL state scissor, so I implemented another interface for partial FBO blit: void BlitToVidSize(FrameBuffer *target, GLbitfield mask, GLenum filter, int x, int y, int w, int h); I guess this is better in some way. And we can add "Relative" version in future if we need (unlikely). On start of Bakery Job, with Medium soft quality and 4x multisampling, I get FPS boost from 108 to 120. Well worth it =) |
|
Date Modified | Username | Field | Change |
---|---|---|---|
21.12.2021 17:22 | stgatilov | New Issue | |
14.08.2022 19:01 | stgatilov | Assigned To | => stgatilov |
14.08.2022 19:01 | stgatilov | Status | new => assigned |
14.08.2022 19:14 | stgatilov | Note Added: 0015166 | |
14.08.2022 19:14 | stgatilov | Status | assigned => resolved |
14.08.2022 19:14 | stgatilov | Resolution | open => fixed |
14.08.2022 19:14 | stgatilov | Fixed in Version | => TDM 2.11 |