mirror of
https://github.com/yuzu-emu/yuzu-emu.github.io.git
synced 2026-08-09 11:15:00 +00:00
Update index.md
This commit is contained in:
parent
5343a6ada8
commit
8d51583d90
|
|
@ -60,14 +60,14 @@ As soon as you start a game, the game begins making queries to get GPU counters.
|
|||
Normally, the results are obtained by the Switch's GPU immediately after counting is done--when the rendering is done.
|
||||
But games like `SUPER MARIO ODYSSEY` which use occlusion culling make a _lot_ of queries.
|
||||
|
||||
{{< imgs
|
||||
"./occ.png| Turn the camera around, and the whole city magically disappears (SUPER MARIO ODYSSEY)"
|
||||
>}}
|
||||
|
||||
So, if we tried to run all those queries and sync the results on the host (user's) GPU in the same way, it would stall the GPU heavily — as the GPU would be forced to synchronize with the CPU after drawing each scene element to write back the counters.
|
||||
|
||||
To prevent this from happening, Blinkhawk synchronises memory whenever the game requests the GPU to wait for commands to finish rendering. This allows for efficient batching, and for GPU commands which occur after the wait to utilize the counter values.
|
||||
|
||||
{{< imgs
|
||||
"./occ.png| Turn the camera around, and the whole city magically disappears (SUPER MARIO ODYSSEY)"
|
||||
>}}
|
||||
|
||||
Second, in the guest (Switch's) GPU, counters can be reset at any time, or not at all.
|
||||
But this behaviour is not exposed in graphics APIs such as OpenGL and Vulkan.
|
||||
Instead, these APIs have queries that only count a smaller section such as a single draw or multiple draws.
|
||||
|
|
|
|||
Loading…
Reference in a new issue