wgui: perf: scissor render culling

Greatly increases rendering performance and minimizes drawcall count for large lists.
This commit is contained in:
Aleksander
2026-01-27 00:36:23 +01:00
parent 46e54db969
commit b17de39ef0
7 changed files with 120 additions and 49 deletions

View File

@@ -36,7 +36,7 @@
<div gap="4">
<Button id="button_red" text="Red button" width="150" height="32" color="#FF0000" tooltip_str="I'm at the top" tooltip_side="top" />
<Button id="button_aqua" text="Aqua button" width="150" height="32" color="#00FFFF" tooltip_str="I'm at the bottom" tooltip_side="bottom" />
<Button id="button_yellow" text="Yellow button" width="150" height="32" color="#FFFF00" tooltip="TESTBED.HELLO_WORLD" tooltip_side="right" />
<Button id="button_yellow" text="Yellow button" width="150" height="32" color="#FFFF00" tooltip="TESTBED.HELLO_WORLD" tooltip_side="left" />
</div>
<div gap="4">
<Button id="button_click_me" text="Click me" width="128" height="24" color="#FFFFFF" />

View File

@@ -359,7 +359,11 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
.unwrap();
if debug_draw_enabled {
log::debug!("pass count: {}", draw_result.pass_count);
log::debug!(
"pass count: {}, primitive commands count: {}",
draw_result.pass_count,
draw_result.primitive_commands_count
);
}
cmd_buf.end_rendering().unwrap();