I've been working on adding MSAA for WebGL2 to CesiumJS and a few of our framebuffers have depth-stencil attachments that get blitted when multisampling. We've noticed big performance drops (50%+ frames per second) on Windows 10 and 11, especially on bigger canvas sizes. This happens both in Chrome, Edge, and Firefox, so it might not be a Direct3D issue. It looks like a Windows bug because we're not seeing the same performance drops on macOS or Linux, and our machines that dual boot Linux + Windows get framerate drops only in Windows.
I couldn't reproduce performance issues with other engines like Babylon.js with MSAA on, but I don't believe Babylon blits depth or stencil attachments. We were wondering if there are any known issues with depth/stencil blitting on Windows or any other details that are easy to miss.
In case it's helpful:
- Online example
running the MSAA branch that gets dropped frames on Windows.