The full view is now the default. While the renderer process covers the whole view (Channel::covering, set after each frame it presents), the adapter skips the client's renderer's clears and draws, decided per frame; the client's renderer still gets state and resources, and draws again as soon as the renderer process stops covering the view. The client's window no longer gets WS_CLIPCHILDREN: the client draws when its window gets WM_PAINT, which a window entirely covered by clipped children never gets (it fell to about one frame a second). The flip model swap chain shows above the client's drawing anyway. Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
1 parent
64e152de3c
commit
2d9da249fa
9 files changed
+74
-27
No files matched your search
@@ -18,6 +18,9 @@ public:
|
||||
|
||||
[[nodiscard]] bool active() const { return process_ && process_->alive(); }
|
||||
|
||||
// Whether the renderer process draws the whole 3D view, so the client's renderer needn't.
|
||||
[[nodiscard]] bool covering() const { return process_ && process_->covering(); }
|
||||
|
||||
// Records a command (if active); returns its payload to fill, or null.
|
||||
template <class Body>
|
||||
std::byte* add(protocol::Op op, const Body& body, std::size_t payloadSize = 0)
|
||||
|
||||
Reference in new issue
Block a user