From 64fe782bf682a881c2d8d98412aeb69ea4852740 Mon Sep 17 00:00:00 2001 From: codegirl-007 Date: Thu, 6 Aug 2026 23:26:38 -0700 Subject: [PATCH] cache animation frame --- engine/sprite.odin | 101 +- flame/crowd-20260803-134819-report.txt | 691 ++++++++++++++ flame/crowd-20260803-134819.jpg | Bin 0 -> 124849 bytes flame/crowd-20260803-134819.svg | 1218 ++++++++++++++++++++++++ 4 files changed, 1994 insertions(+), 16 deletions(-) create mode 100644 flame/crowd-20260803-134819-report.txt create mode 100644 flame/crowd-20260803-134819.jpg create mode 100644 flame/crowd-20260803-134819.svg diff --git a/engine/sprite.odin b/engine/sprite.odin index 12a9dba..2f62bb1 100644 --- a/engine/sprite.odin +++ b/engine/sprite.odin @@ -11,6 +11,19 @@ Sprite :: struct { frame: int, time: f32, flip_x: bool, + + draw_ok: bool, + draw_cache_dirty: bool, + draw_src_w: f32, + draw_src_h: f32, + draw_fw: f32, + draw_fh: f32, + draw_trim_x: f32, + draw_trim_y: f32, + draw_u0: f32, + draw_v0: f32, + draw_u1: f32, + draw_v1: f32, } spawn_sprite :: proc( @@ -36,6 +49,7 @@ spawn_sprite :: proc( } } } + invalidate_sprite_draw_cache(&sprite) return sprite } @@ -57,6 +71,8 @@ update_sprite :: proc(sprite: ^Sprite, dt: f32) { sprite.time += dt frame_duration := 1.0 / clip.fps + frame_changed := false + for sprite.time >= frame_duration { sprite.time -= frame_duration next := sprite.frame + 1 @@ -64,6 +80,7 @@ update_sprite :: proc(sprite: ^Sprite, dt: f32) { if next >= frame_count { if clip.loop { sprite.frame = 0 + frame_changed = true } else { sprite.frame = frame_count - 1 sprite.time = 0 @@ -71,8 +88,13 @@ update_sprite :: proc(sprite: ^Sprite, dt: f32) { } } else { sprite.frame = next + frame_changed = true } } + + if frame_changed { + invalidate_sprite_draw_cache(sprite) + } } to_clip :: proc(px, py, sw, sh: f32) -> [2]f32 { @@ -82,6 +104,50 @@ to_clip :: proc(px, py, sw, sh: f32) -> [2]f32 { } } +refresh_sprite_draw_cache :: proc(sprite: ^Sprite) { + if sprite == nil || sprite.data == nil { + return + } + if !sprite.draw_cache_dirty { + return + } + + frame, ok := character_frame(sprite.data, sprite.clip, sprite.frame) + if !ok { + sprite.draw_ok = false + sprite.draw_cache_dirty = false + return + } + + src_w := f32(frame.source_size[0]) + src_h := f32(frame.source_size[1]) + if src_w <= 0 do src_w = f32(frame.rect[2]) + if src_h <= 0 do src_h = f32(frame.rect[3]) + + tex_w := f32(sprite.data.width) + tex_h := f32(sprite.data.height) + u0, v0, u1, v1 := frame_uvs(frame.rect, tex_w, tex_h, false) + + sprite.draw_src_w = src_w + sprite.draw_src_h = src_h + sprite.draw_fw = f32(frame.rect[2]) + sprite.draw_fh = f32(frame.rect[3]) + sprite.draw_trim_x = f32(frame.trim_offset[0]) + sprite.draw_trim_y = f32(frame.trim_offset[1]) + sprite.draw_u0 = u0 + sprite.draw_v0 = v0 + sprite.draw_u1 = u1 + sprite.draw_v1 = v1 + sprite.draw_ok = true + sprite.draw_cache_dirty = false +} + +invalidate_sprite_draw_cache :: proc(sprite: ^Sprite) { + if sprite == nil do return + sprite.draw_cache_dirty = true + refresh_sprite_draw_cache(sprite) +} + draw_sprite :: proc(app: ^App, sprite: ^Sprite) { if app.cmd == nil || app.swapchain_texture == nil { return @@ -92,23 +158,24 @@ draw_sprite :: proc(app: ^App, sprite: ^Sprite) { if len(app.draw_list) >= MAX_SPRITES { return } - - frame, ok := character_frame(sprite.data, sprite.clip, sprite.frame) - if !ok { + if !sprite.draw_ok { return } - src_w := f32(frame.source_size[0]) - src_h := f32(frame.source_size[1]) - if src_w <= 0 do src_w = f32(frame.rect[2]) - if src_h <= 0 do src_h = f32(frame.rect[3]) - - fw := f32(frame.rect[2]) - fh := f32(frame.rect[3]) - trim_x := f32(frame.trim_offset[0]) - trim_y := f32(frame.trim_offset[1]) + src_w := sprite.draw_src_w + src_h := sprite.draw_src_h + fw := sprite.draw_fw + fh := sprite.draw_fh + trim_x := sprite.draw_trim_x + trim_y := sprite.draw_trim_y pivot := sprite.data.def.pivot + u0, v0 := sprite.draw_u0, sprite.draw_v0 + u1, v1 := sprite.draw_u1, sprite.draw_v1 + if sprite.flip_x { + u0, u1 = u1, u0 + } + viewport := Vec2{f32(app.swapchain_w), f32(app.swapchain_h)} feet := world_to_screen(app.camera, sprite.position, viewport) @@ -124,15 +191,16 @@ draw_sprite :: proc(app: ^App, sprite: ^Sprite) { sw := f32(app.swapchain_w) sh := f32(app.swapchain_h) + + if x1_px < 0 || y1_px < 0 || x0_px > sw || y0_px > sh { + return + } + p0 := to_clip(x0_px, y0_px, sw, sh) p1 := to_clip(x1_px, y0_px, sw, sh) p2 := to_clip(x1_px, y1_px, sw, sh) p3 := to_clip(x0_px, y1_px, sw, sh) - tex_w := f32(sprite.data.width) - tex_h := f32(sprite.data.height) - u0, v0, u1, v1 := frame_uvs(frame.rect, tex_w, tex_h, sprite.flip_x) - verts := [SPRITE_VERT_COUNT]Vertex { {pos = p0, uv = {u0, v0}}, {pos = p1, uv = {u1, v0}}, @@ -156,6 +224,7 @@ set_sprite_clip :: proc(sprite: ^Sprite, clip: string) { sprite.clip = clip sprite.frame = 0 sprite.time = 0 + invalidate_sprite_draw_cache(sprite) } sprite_quad_origin :: proc(position: Vec2, size: Vec2, pivot: [2]f32) -> Vec2 { diff --git a/flame/crowd-20260803-134819-report.txt b/flame/crowd-20260803-134819-report.txt new file mode 100644 index 0000000..91d5580 --- /dev/null +++ b/flame/crowd-20260803-134819-report.txt @@ -0,0 +1,691 @@ +# To display the perf.data header info, please use --header/--header-only options. +# +# +# Total Lost Samples: 0 +# +# Samples: 520 of event 'cpu/cycles/Pu' +# Event count (approx.): 2034232526 +# +# Overhead Command Shared Object Symbol +# ........ ............... .............................. ...................................................................................................................................................................... +# + 8.31% crowd_perf crowd_perf [.] engine::draw_sprite + | + ---engine::draw_sprite + main::main + main + 0x7f1472227740 + __libc_start_main + _start + + 3.99% crowd_perf libwayland-client.so.0.25.0 [.] 0x00000000000054fe + | + ---0x7f14729394fe + wl_display_dispatch_queue_pending + 0x7f146af97ba4 + 0x7f146af8a4f8 + 0x7f147284ffc9 + engine::end_frame + main::main + main + 0x7f1472227740 + __libc_start_main + _start + + 3.98% crowd_perf crowd_perf [.] engine::to_clip + | + ---engine::to_clip + engine::draw_sprite + main::main + main + 0x7f1472227740 + __libc_start_main + _start + + 3.84% crowd_perf crowd_perf [.] engine::update_sprite + | + ---engine::update_sprite + main::main + main + 0x7f1472227740 + __libc_start_main + _start + + 2.62% crowd_perf libc.so.6 [.] pthread_mutex_lock + | + ---pthread_mutex_lock + | + --0.81%--0x7f147284d10f + 0x7f147284f5c0 + 0x7f14728545c5 + 0x7f1472669860 + engine::begin_frame + main::main + main + 0x7f1472227740 + __libc_start_main + _start + + 2.58% crowd_perf libSDL3.so.0.4.12 [.] 0x0000000000149258 + | + ---0x7f1472749258 + 0x7f1472741b9a + 0x7f14727426da + + 2.15% crowd_perf libwayland-client.so.0.25.0 [.] 0x0000000000004dce + | + ---0x7f1472938dce + wl_proxy_marshal_array_flags + wl_proxy_marshal_flags + 0x7f146af97614 + 0x7f146af8a4f8 + 0x7f147284ffc9 + engine::end_frame + main::main + main + 0x7f1472227740 + __libc_start_main + _start + + 2.00% crowd_perf crowd_perf [.] runtime::memory_equal + | + ---runtime::memory_equal + runtime::string_eq + __$map_get$$map[string]engine::Clip_Def + engine::character_clip + engine::update_sprite + main::main + main + 0x7f1472227740 + __libc_start_main + _start + + 1.92% crowd_perf [unknown] [k] 0xffffffffa9e00080 + | + ---0xffffffffa9e00080 + | + --1.48%--0x7f147229fff2 + 0x7f147229403b + 0x7f1472294083 + __close + 0x7f146af8cacd + 0x7f146af893c8 + 0x7f146af89241 + 0x7f14728544bd + 0x7f1472669860 + engine::begin_frame + main::main + main + 0x7f1472227740 + __libc_start_main + _start + + 1.87% crowd_perf libSDL3.so.0.4.12 [.] 0x000000000014400b + | + ---0x7f147274400b + 0x7f147274a028 + 0x7f1472741b9a + + 1.85% crowd_perf libc.so.6 [.] 0x00000000000a6383 + | + ---0x7f14722a6383 + 0x7f14722a73af + wl_proxy_marshal_array_flags + wl_proxy_marshal_flags + | + --0.97%--0x7f146af97937 + 0x7f146af8a4f8 + 0x7f147284ffc9 + engine::end_frame + main::main + main + 0x7f1472227740 + __libc_start_main + _start + + 1.73% crowd_perf crowd_perf [.] engine::world_to_screen + | + ---engine::world_to_screen + engine::draw_sprite + main::main + main + 0x7f1472227740 + __libc_start_main + _start + + 1.73% crowd_perf crowd_perf [.] engine::sprite_feet_quad + | + ---engine::sprite_feet_quad + engine::draw_sprite + main::main + main + 0x7f1472227740 + __libc_start_main + _start + + 1.44% crowd_perf crowd_perf [.] runtime::default_hasher + | + ---runtime::default_hasher + runtime::default_hasher_string + __$hasher$$string + engine::character_clip + engine::update_sprite + main::main + main + 0x7f1472227740 + __libc_start_main + _start + + 1.38% crowd_perf crowd_perf [.] runtime::bounds_check_error + | + ---runtime::bounds_check_error + | + |--0.83%--engine::end_frame + | main::main + | main + | 0x7f1472227740 + | __libc_start_main + | _start + | + --0.55%--engine::texture_run_len + engine::end_frame + main::main + main + 0x7f1472227740 + __libc_start_main + _start + + 1.32% crowd_perf libwayland-client.so.0.25.0 [.] wl_proxy_marshal_array_flags + | + ---wl_proxy_marshal_array_flags + wl_proxy_marshal_flags + + 1.29% crowd_perf ld-linux-x86-64.so.2 [.] 0x000000000000fe40 + | + ---0x7f1472a0be40 + 0x7f1472a0de00 + 0x7f1472a09eda + _dl_catch_exception + 0x7f1472a09242 + _dl_catch_exception + 0x7f1472a097a9 + 0x7f1472293bb3 + _dl_catch_exception + 0x7f14729fe5c8 + 0x7f14722936a2 + dlopen + 0x7f147183dc10 + 0x7f1471842b4b + + 1.26% crowd_perf libc.so.6 [.] 0x000000000018a4c0 + | + ---0x7f147238a4c0 + | + --0.87%--engine::draw_sprite + main::main + main + 0x7f1472227740 + __libc_start_main + _start + + 1.22% crowd_perf libvulkan_radeon.so [.] 0x000000000018d492 + | + ---0x7f146af8d492 + 0x7f146af93f45 + 0x7f146af89296 + 0x7f146af89241 + 0x7f14728544bd + 0x7f1472669860 + engine::begin_frame + main::main + main + 0x7f1472227740 + __libc_start_main + _start + + 1.06% crowd_perf libwayland-client.so.0.25.0 [.] 0x00000000000032a4 + | + ---0x7f14729372a4 + wl_proxy_marshal_flags + 0x7f146af97988 + 0x7f146af8a4f8 + 0x7f147284ffc9 + engine::end_frame + main::main + main + 0x7f1472227740 + __libc_start_main + _start + + 1.05% crowd_perf libvulkan_radeon.so [.] 0x00000000001e361f + | + ---0x7f146afe361f + 0x7f146afe157e + 0x7f147283be46 + 0x7f1472668a74 + engine::end_frame + main::main + main + 0x7f1472227740 + __libc_start_main + _start + + 1.03% crowd_perf libSDL3.so.0.4.12 [.] 0x000000000023af6a + | + ---0x7f147283af6a + | + --1.03%--0x7f1472849f2d + engine::end_frame + main::main + main + 0x7f1472227740 + __libc_start_main + _start + + 1.00% crowd_perf crowd_perf [.] runtime::_append_elem + | + ---runtime::_append_elem + runtime::append_elem:proc(array:^[dynamic]engine::Queued_Sprite,arg:engine::Queued_Sprite,loc:runtime::Source_Code_Location)->(n:int,err:runtime::Allocator_Error) + engine::draw_sprite + main::main + main + 0x7f1472227740 + __libc_start_main + _start + + 0.98% crowd_perf libSDL3.so.0.4.12 [.] 0x0000000000144168 + | + ---0x7f1472744168 + 0x7f147274a028 + 0x7f1472741b9a + + 0.95% crowd_perf libvulkan_radeon.so [.] 0x000000000018d597 + | + ---0x7f146af8d597 + 0x7f146af93f45 + 0x7f146af89296 + 0x7f146af89241 + 0x7f14728544bd + 0x7f1472669860 + engine::begin_frame + main::main + main + 0x7f1472227740 + __libc_start_main + _start + + 0.83% crowd_perf crowd_perf [.] engine::end_frame + | + ---engine::end_frame + main::main + main + 0x7f1472227740 + __libc_start_main + _start + + 0.83% crowd_perf libc.so.6 [.] clock_gettime + | + ---clock_gettime + 0x7f146b17a09a + 0x7f146b13de27 + + 0.83% crowd_perf libc.so.6 [.] 0x000000000018a4c4 + | + ---0x7f147238a4c4 + engine::draw_sprite + main::main + main + 0x7f1472227740 + __libc_start_main + _start + + 0.80% crowd_perf libdrm.so.2.134.0 [.] drmIoctl + | + ---drmIoctl + + 0.80% crowd_perf libvulkan_radeon.so [.] 0x00000000001f2dd0 + | + ---0x7f146aff2dd0 + 0x7f146afe47c4 + 0x7f146afd1316 + + 0.79% crowd_perf libvulkan_radeon.so [.] 0x000000000022dd9e + | + ---0x7f146b02dd9e + 0x7f146af152a7 + 0x7f146af163f7 + 0x7f146af1692c + 0x7f146ae2bd93 + 0x7f146ae2da03 + 0x7f146ae2e4ca + 0x7f146ae2f277 + 0x7f146afe052c + 0x7f146afe1521 + 0x7f1472847581 + 0x7f1472664bab + engine::end_frame + main::main + + 0.74% crowd_perf crowd_perf [.] main::main + | + ---main::main + main + 0x7f1472227740 + __libc_start_main + _start + + 0.73% crowd_perf libvulkan_radeon.so [.] 0x00000000001f41b7 + | + ---0x7f146aff41b7 + 0x7f146aff44e5 + + 0.58% wl_cursor_surfa libwayland-client.so.0.25.0 [.] 0x000000000000365c + 0.57% crowd_perf libc.so.6 [.] 0x000000000018a507 + | + ---0x7f147238a507 + 0x7f146aed1554 + 0x7f146afe165e + 0x7f146afdee47 + 0x7f146afe35f1 + 0x7f146afe157e + 0x7f147283be46 + 0x7f1472668a74 + engine::end_frame + main::main + main + 0x7f1472227740 + __libc_start_main + _start + + 0.56% crowd_perf libvulkan_radeon.so [.] 0x000000000033b80b + | + ---0x7f146b13b80b + 0x7f146aff41ce + 0x7f146aff44e5 + 0x7f146ae2baf6 + 0x7f146ae2da03 + 0x7f146ae2e4ca + 0x7f146ae2f277 + 0x7f146afe052c + 0x7f146afe1521 + 0x7f1472847581 + 0x7f1472664bab + engine::end_frame + main::main + + 0.56% crowd_perf libvulkan_radeon.so [.] 0x000000000017ff51 + | + ---0x7f146af7ff51 + 0x7f146af81458 + 0x7f146aecf495 + 0x7f1472840650 + 0x7f1472662316 + engine::end_frame + main::main + main + 0x7f1472227740 + __libc_start_main + _start + + 0.53% crowd_perf libSDL3.so.0.4.12 [.] 0x000000000023af5d + | + ---0x7f147283af5d + 0x7f1472849f38 + engine::end_frame + main::main + main + 0x7f1472227740 + __libc_start_main + _start + + 0.52% crowd_perf libvulkan_radeon.so [.] 0x00000000000bdcf2 + | + ---0x7f146aebdcf2 + 0x7f146aed7a12 + engine::end_frame + main::main + main + 0x7f1472227740 + __libc_start_main + _start + + 0.52% crowd_perf libvulkan_radeon.so [.] 0x0000000000180ab2 + | + ---0x7f146af80ab2 + 0x7f146af82d59 + 0x7f146af3cff4 + 0x7f146afdcaf6 + 0x7f146afdccd4 + 0x7f146afe6f2c + 0x7f147284fec1 + engine::end_frame + main::main + main + 0x7f1472227740 + __libc_start_main + _start + + 0.51% crowd_perf libvulkan_radeon.so [.] 0x00000000001dd3c0 + | + ---0x7f146afdd3c0 + 0x7f146afddcaf + 0x7f146afe6f2c + 0x7f147284fec1 + engine::end_frame + main::main + main + 0x7f1472227740 + __libc_start_main + _start + + 0.50% crowd_perf libvulkan_radeon.so [.] 0x00000000001d18cb + | + ---0x7f146afd18cb + 0x7f146afd1f34 + 0x7f146aeb925d + 0x7f146aec9db3 + 0x7f146aed7932 + engine::end_frame + main::main + main + 0x7f1472227740 + __libc_start_main + _start + + 0.50% crowd_perf libvulkan_radeon.so [.] 0x00000000000bbcbf + | + ---0x7f146aebbcbf + 0x7f146aec9af6 + 0x7f146aed7932 + engine::end_frame + main::main + main + 0x7f1472227740 + __libc_start_main + _start + + 0.50% crowd_perf libc.so.6 [.] 0x000000000018a516 + 0.50% crowd_perf crowd_perf [.] runtime::string_eq + 0.49% crowd_perf libvulkan_radeon.so [.] 0x00000000000bcb4f + 0.49% crowd_perf libdbus-1.so.3.38.3 [.] _dbus_list_get_first_link + 0.48% crowd_perf libvulkan_radeon.so [.] 0x000000000018d4e4 + 0.48% crowd_perf libc.so.6 [.] 0x0000000000180646 + 0.48% crowd_perf libdbus-1.so.3.38.3 [.] dbus_connection_get_dispatch_status + 0.48% crowd_perf libvulkan_radeon.so [.] 0x0000000000194603 + 0.47% crowd_perf libc.so.6 [.] 0x0000000000189c40 + 0.47% wl_cursor_surfa libc.so.6 [.] 0x00000000000a6761 + 0.47% crowd_perf libc.so.6 [.] 0x00000000000a5908 + 0.47% crowd_perf libc.so.6 [.] __libc_calloc + 0.47% crowd_perf libSDL3.so.0.4.12 [.] 0x000000000023ba05 + 0.47% crowd_perf libvulkan_radeon.so [.] 0x00000000000cb17b + 0.47% crowd_perf libdrm.so.2.134.0 [.] drmSyncobjDestroy + 0.46% crowd_perf libwayland-client.so.0.25.0 [.] wl_proxy_marshal_flags + 0.46% crowd_perf libvulkan_radeon.so [.] 0x000000000037a25f + 0.46% crowd_perf libvulkan_radeon.so [.] 0x00000000000ca967 + 0.46% crowd_perf libSDL3.so.0.4.12 [.] 0x00000000000657ed + 0.46% wl_cursor_surfa libc.so.6 [.] ppoll + 0.46% crowd_perf libSDL3.so.0.4.12 [.] 0x0000000000243e20 + 0.46% crowd_perf libc.so.6 [.] 0x000000000009ffc0 + 0.46% crowd_perf libc.so.6 [.] pthread_rwlock_unlock + 0.46% wl_cursor_surfa libwayland-client.so.0.25.0 [.] wl_display_read_events + 0.46% crowd_perf libvulkan_radeon.so [.] 0x000000000022d248 + 0.45% crowd_perf libvulkan_radeon.so [.] 0x000000000031ef50 + 0.45% crowd_perf libvulkan_radeon.so [.] 0x0000000000134153 + 0.45% crowd_perf libSDL3.so.0.4.12 [.] 0x000000000023be20 + 0.45% wl_cursor_surfa libc.so.6 [.] 0x0000000000094075 + 0.45% crowd_perf libvulkan_radeon.so [.] 0x000000000002809e + 0.45% crowd_perf libvulkan_radeon.so [.] 0x00000000001e35f2 + 0.45% crowd_perf [unknown] [k] 0xffffffffaa5d7847 + 0.45% crowd_perf libvulkan_radeon.so [.] 0x00000000000d2c23 + 0.44% crowd_perf libc.so.6 [.] pthread_rwlock_rdlock + 0.44% crowd_perf libvulkan_radeon.so [.] 0x00000000001d63fa + 0.44% crowd_perf libvulkan_radeon.so [.] 0x000000000035f600 + 0.44% crowd_perf libc.so.6 [.] 0x0000000000093fe5 + 0.44% crowd_perf libvulkan_radeon.so [.] 0x0000000000217e34 + 0.44% crowd_perf libvulkan_radeon.so [.] 0x00000000000ced24 + 0.43% crowd_perf libSDL3.so.0.4.12 [.] 0x000000000024bb50 + 0.43% crowd_perf libvulkan_radeon.so [.] 0x000000000002ca18 + 0.43% crowd_perf libSDL3.so.0.4.12 [.] 0x00000000000168f0 + 0.43% crowd_perf libc.so.6 [.] __errno_location + 0.42% crowd_perf libc.so.6 [.] malloc + 0.42% crowd_perf libwayland-client.so.0.25.0 [.] 0x0000000000003233 + 0.42% crowd_perf libc.so.6 [.] 0x00000000000a5735 + 0.42% crowd_perf crowd_perf [.] engine::begin_frame + 0.42% crowd_perf libvulkan_radeon.so [.] 0x00000000001cad78 + 0.42% crowd_perf libvulkan_radeon.so [.] 0x0000000000197510 + 0.42% crowd_perf crowd_perf [.] engine::character_clip + 0.42% crowd_perf libc.so.6 [.] 0x00000000000a58f9 + 0.41% crowd_perf libc.so.6 [.] 0x000000000009ca14 + 0.41% crowd_perf libwayland-client.so.0.25.0 [.] 0x0000000000003203 + 0.41% crowd_perf libc.so.6 [.] ppoll + 0.41% wl_cursor_surfa libc.so.6 [.] 0x00000000000a6ed3 + 0.41% crowd_perf libc.so.6 [.] pthread_rwlock_wrlock + 0.41% crowd_perf libc.so.6 [.] 0x00000000000a57e4 + 0.40% crowd_perf libvulkan_radeon.so [.] 0x000000000002ca02 + 0.40% crowd_perf libvulkan_radeon.so [.] 0x00000000001df85d + 0.40% crowd_perf libSDL3.so.0.4.12 [.] 0x000000000025445f + 0.40% crowd_perf libvulkan_radeon.so [.] 0x000000000002b9c7 + 0.40% crowd_perf libvulkan_radeon.so [.] 0x00000000000bbef5 + 0.39% crowd_perf libSDL3.so.0.4.12 [.] 0x000000000001663d + 0.39% crowd_perf libvulkan_radeon.so [.] 0x0000000000189bca + 0.39% crowd_perf libSDL3.so.0.4.12 [.] 0x000000000023b2d1 + 0.39% crowd_perf libwayland-client.so.0.25.0 [.] 0x000000000000547c + 0.39% crowd_perf libc.so.6 [.] 0x00000000000a5859 + 0.38% crowd_perf [vdso] [.] __vdso_clock_gettime + 0.38% crowd_perf libvulkan_radeon.so [.] 0x00000000000284e5 + 0.38% crowd_perf libvulkan_radeon.so [.] 0x00000000001815c0 + 0.37% crowd_perf libSDL3.so.0.4.12 [.] 0x00000000002441e6 + 0.37% crowd_perf crowd_perf [.] runtime::default_hasher_string + 0.37% crowd_perf libvulkan_radeon.so [.] 0x00000000001f4498 + 0.37% crowd_perf libvulkan_radeon.so [.] 0x00000000000d3cee + 0.37% crowd_perf libvulkan_radeon.so [.] 0x00000000000ba831 + 0.36% crowd_perf libvulkan_radeon.so [.] 0x00000000001e61f1 + 0.36% crowd_perf libc.so.6 [.] 0x0000000000189cc4 + 0.36% crowd_perf libc.so.6 [.] ioctl + 0.35% crowd_perf libvulkan_radeon.so [.] 0x00000000000c9cb4 + 0.35% crowd_perf crowd_perf [.] runtime::append_elem:proc(array:^[dynamic]engine::Queued_Sprite,arg:engine::Queued_Sprite,loc:runtime::Source_Code_Location)->(n:int,err:runtime::Allocator_Error) + 0.34% crowd_perf libvulkan_radeon.so [.] 0x000000000002ce05 + 0.31% crowd_perf crowd_perf [.] mem::copy + 0.23% crowd_perf libvulkan_radeon.so [.] 0x000000000033c9db + 0.21% wl_cursor_surfa libSDL3.so.0.4.12 [.] 0x00000000001cd7b4 + 0.12% wl_cursor_surfa libwayland-client.so.0.25.0 [.] wl_display_prepare_read_queue + 0.09% crowd_perf ld-linux-x86-64.so.2 [.] 0x0000000000026dc6 + 0.06% wl_cursor_surfa libSDL3.so.0.4.12 [.] 0x00000000001e3f76 + 0.02% wl_cursor_surfa libSDL3.so.0.4.12 [.] 0x00000000001cd7f8 + 0.02% wl_cursor_surfa libc.so.6 [.] 0x00000000000a66e2 + 0.01% wl_cursor_surfa libc.so.6 [.] 0x0000000000094047 + 0.00% wl_cursor_surfa libwayland-client.so.0.25.0 [.] 0x0000000000004cb4 + 0.00% wl_cursor_surfa libc.so.6 [.] pthread_mutex_lock + 0.00% wl_cursor_surfa libc.so.6 [.] 0x000000000018a4ca + 0.00% crowd_perf libnvidia-gpucomp.so.610.43.03 [.] 0x00000000019a8a1c + 0.00% crowd_perf libvulkan_radeon.so [.] 0x00000000002d350a + 0.00% crowd_perf libnvidia-gpucomp.so.610.43.03 [.] 0x00000000004ab69d + 0.00% wl_cursor_surfa [unknown] [k] 0xffffffffa9e00080 + 0.00% wl_cursor_surfa libc.so.6 [.] 0x00000000000a66c8 + 0.00% wl_cursor_surfa libwayland-client.so.0.25.0 [.] wl_list_empty + 0.00% crowd_perf libdbus-1.so.3.38.3 [.] 0x000000000001e7b4 + 0.00% crowd_perf ld-linux-x86-64.so.2 [.] 0x0000000000009bf6 + 0.00% wl_cursor_surfa libc.so.6 [.] 0x00000000000a6383 + 0.00% wl_cursor_surfa libc.so.6 [.] 0x000000000018a4f3 + 0.00% crowd_perf libwayland-client.so.0.25.0 [.] 0x0000000000003656 + 0.00% crowd_perf libLLVM.so.22.1 [.] 0x000000000082aba4 + 0.00% wl_cursor_surfa libc.so.6 [.] 0x00000000000a7371 + 0.00% crowd_perf libc.so.6 [.] __sigsetjmp + 0.00% wl_cursor_surfa libwayland-client.so.0.25.0 [.] 0x0000000000003621 + 0.00% crowd_perf ld-linux-x86-64.so.2 [.] 0x00000000000148a1 + 0.00% crowd_perf libc.so.6 [.] 0x00000000000a735f + 0.00% crowd_perf libc.so.6 [.] 0x00000000000a88a1 + 0.00% crowd_perf libc.so.6 [.] strlcpy + 0.00% crowd_perf libvulkan_radeon.so [.] 0x0000000000345adb + 0.00% crowd_perf libvulkan_radeon.so [.] 0x0000000000345b18 + 0.00% crowd_perf [unknown] [k] 0xffffffffa9e0012a + 0.00% crowd_perf libvulkan_radeon.so [.] 0x0000000000345ad6 + 0.00% wl_cursor_surfa libSDL3.so.0.4.12 [.] 0x00000000001e3f74 + 0.00% crowd_perf libc.so.6 [.] 0x0000000000103a63 + 0.00% crowd_perf libvulkan_radeon.so [.] 0x00000000002222a8 + 0.00% crowd_perf libnvidia-gpucomp.so.610.43.03 [.] 0x000000000046bca5 + 0.00% wl_cursor_surfa libc.so.6 [.] recvmsg + 0.00% crowd_perf libc.so.6 [.] 0x000000000009741b + 0.00% crowd_perf libnvidia-gpucomp.so.610.43.03 [.] 0x000000000195a132 + 0.00% crowd_perf libvulkan_radeon.so [.] 0x000000000018d575 + 0.00% crowd_perf libc.so.6 [.] 0x000000000011bed0 + 0.00% wl_cursor_surfa libc.so.6 [.] 0x0000000000094049 + 0.00% crowd_perf libdbus-1.so.3.38.3 [.] 0x0000000000032197 + 0.00% crowd_perf libc.so.6 [.] wait4 + 0.00% crowd_perf libc.so.6 [.] open64 + 0.00% crowd_perf libc.so.6 [.] 0x0000000000097417 + 0.00% crowd_perf libvulkan_radeon.so [.] 0x00000000001e4a14 + 0.00% crowd_perf libdrm.so.2.134.0 [.] drmSyncobjWait + 0.00% crowd_perf libc.so.6 [.] 0x00000000000408dc + 0.00% crowd_perf libwayland-client.so.0.25.0 [.] 0x0000000000003b1a + 0.00% crowd_perf libc.so.6 [.] __ctype_init + 0.00% crowd_perf [unknown] [k] 0xffffffffa9e01280 + 0.00% crowd_perf libvulkan_radeon.so [.] 0x0000000000344ddb + 0.00% crowd_perf libvulkan_radeon.so [.] 0x0000000000345bb3 + 0.00% crowd_perf libvulkan_radeon.so [.] 0x0000000000344ccb + 0.00% crowd_perf libvulkan_radeon.so [.] 0x0000000000344cd4 + 0.00% crowd_perf libvulkan_radeon.so [.] 0x0000000000345bb0 + 0.00% wl_cursor_surfa libc.so.6 [.] 0x0000000000094040 + 0.00% wl_cursor_surfa libc.so.6 [.] 0x0000000000094084 + 0.00% crowd_perf libc.so.6 [.] 0x0000000000094040 + 0.00% wl_cursor_surfa libc.so.6 [.] 0x0000000000094085 + 0.00% crowd_perf libc.so.6 [.] 0x0000000000094047 + 0.00% crowd_perf libc.so.6 [.] 0x0000000000103a40 + 0.00% crowd_perf [unknown] [k] 0xffffffffa9e01630 + 0.00% crowd_perf libc.so.6 [.] 0x00000000000973a0 + 0.00% crowd_perf libc.so.6 [.] 0x00000000000973a4 + 0.00% wl_cursor_surfa libc.so.6 [.] 0x0000000000094048 + 0.00% wl_cursor_surfa libc.so.6 [.] 0x0000000000094097 + 0.00% crowd_perf ld-linux-x86-64.so.2 [.] 0x0000000000019a7d + 0.00% crowd_perf ld-linux-x86-64.so.2 [.] 0x0000000000019a84 + 0.00% crowd_perf ld-linux-x86-64.so.2 [.] 0x000000000001f103 + 0.00% crowd_perf libLLVM.so.22.1 [.] 0x000000000082abc8 + 0.00% crowd_perf libLLVM.so.22.1 [.] 0x000000000082abdf + 0.00% crowd_perf libc.so.6 [.] __poll + 0.00% crowd_perf libc.so.6 [.] 0x00000000000409bc + 0.00% crowd_perf libc.so.6 [.] 0x0000000000094084 + 0.00% crowd_perf libc.so.6 [.] 0x0000000000094085 + 0.00% crowd_perf libc.so.6 [.] 0x00000000000a5701 + 0.00% crowd_perf libc.so.6 [.] 0x00000000000a5711 + 0.00% crowd_perf libc.so.6 [.] 0x00000000000a58fb + 0.00% crowd_perf libdrm.so.2.134.0 [.] drmSyncobjTimelineWait + 0.00% crowd_perf libnvidia-gpucomp.so.610.43.03 [.] 0x000000000046bbe3 + 0.00% crowd_perf libnvidia-gpucomp.so.610.43.03 [.] 0x000000000046bbf2 + 0.00% crowd_perf libnvidia-gpucomp.so.610.43.03 [.] 0x00000000004ad045 + 0.00% crowd_perf libnvidia-gpucomp.so.610.43.03 [.] 0x0000000001956947 + 0.00% crowd_perf libnvidia-gpucomp.so.610.43.03 [.] 0x000000000195a621 + 0.00% crowd_perf libnvidia-gpucomp.so.610.43.03 [.] 0x000000000195a630 + 0.00% crowd_perf libvulkan_radeon.so [.] 0x000000000018c923 + 0.00% crowd_perf libvulkan_radeon.so [.] 0x000000000018ca52 + 0.00% crowd_perf libvulkan_radeon.so [.] 0x000000000028edc6 + 0.00% crowd_perf libvulkan_radeon.so [.] 0x000000000028edec + 0.00% crowd_perf libvulkan_radeon.so [.] 0x0000000000344ddd + 0.00% crowd_perf libvulkan_radeon.so [.] 0x0000000000345bb5 + 0.00% crowd_perf libwayland-client.so.0.25.0 [.] 0x0000000000003aa8 + 0.00% crowd_perf [unknown] [k] 0xffffffffa9e01670 + 0.00% wl_cursor_surfa libc.so.6 [.] 0x0000000000094050 + + +# +# (Tip: Boolean options have negative forms, e.g.: perf report --no-children) +# diff --git a/flame/crowd-20260803-134819.jpg b/flame/crowd-20260803-134819.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a01fb6945ecd22e370af2776681518e5fa285fd4 GIT binary patch literal 124849 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 + + + + + + + + + + + + + +Flame Graph + +Reset Zoom +Search +ic + + + +engine::texture_run_len (11,144,665 samples, 0.55%) + + + +[libc.so.6] (1,742,631 samples, 0.09%) + + + +[unknown] (9,090,772 samples, 0.45%) + + + +[libwayland-client.so.0.25.0] (8,341,432 samples, 0.41%) + + + +all (2,034,232,526 samples, 100%) + + + +[libvulkan_radeon.so] (8,924,810 samples, 0.44%) + + + +[libSDL3.so.0.4.12] (77,611,657 samples, 3.82%) +[lib.. + + +[libSDL3.so.0.4.12] (7,424,189 samples, 0.36%) + + + +[libSDL3.so.0.4.12] (163,773,279 samples, 8.05%) +[libSDL3.so.. + + +[libvulkan.so.1.4.350] (26,444,028 samples, 1.30%) + + + +[libc.so.6] (48,327,993 samples, 2.38%) +[.. + + +[libvulkan_radeon.so] (26,136,195 samples, 1.28%) + + + +drmIoctl (8,433,375 samples, 0.41%) + + + +dbus_connection_get_dispatch_status (19,701,864 samples, 0.97%) + + + +[libdbus-1.so.3.38.3] (19,701,864 samples, 0.97%) + + + +[libSDL3.so.0.4.12] (314,202,906 samples, 15.45%) +[libSDL3.so.0.4.12] + + +_dbus_list_get_first_link (9,914,786 samples, 0.49%) + + + +_dl_catch_exception (26,403,012 samples, 1.30%) + + + +[libvulkan_radeon.so] (71,712,300 samples, 3.53%) +[li.. + + +dlsym (1,742,631 samples, 0.09%) + + + +[ld-linux-x86-64.so.2] (1,742,631 samples, 0.09%) + + + +[ld-linux-x86-64.so.2] (26,403,012 samples, 1.30%) + + + +[libc.so.6] (8,169,920 samples, 0.40%) + + + +[libc.so.6] (34,441,906 samples, 1.69%) + + + +[libSDL3.so.0.4.12] (8,164,232 samples, 0.40%) + + + +clock_gettime (16,069,538 samples, 0.79%) + + + +main (1,678,887,419 samples, 82.53%) +main + + +runtime::bounds_check_error (16,884,861 samples, 0.83%) + + + +wl_display_cancel_read (9,218,379 samples, 0.45%) + + + +runtime::_append_elem (20,310,488 samples, 1.00%) + + + +engine::character_clip (96,038,912 samples, 4.72%) +engin.. + + +runtime::memory_equal (40,633,824 samples, 2.00%) +r.. + + +engine::end_frame (755,142,466 samples, 37.12%) +engine::end_frame + + +[libc.so.6] (8,245,577 samples, 0.41%) + + + +wl_proxy_marshal_flags (183,962,894 samples, 9.04%) +wl_proxy_mars.. + + +[libSDL3.so.0.4.12] (9,344,714 samples, 0.46%) + + + +engine::end_frame (8,164,232 samples, 0.40%) + + + +engine::init (1,787,312 samples, 0.09%) + + + +[libvulkan_radeon.so] (183,367,260 samples, 9.01%) +[libvulkan_ra.. + + +drmSyncobjDestroy (9,482,682 samples, 0.47%) + + + +[unknown] (9,071,006 samples, 0.45%) + + + +drmIoctl (7,303,997 samples, 0.36%) + + + +[ld-linux-x86-64.so.2] (26,403,012 samples, 1.30%) + + + +[libSDL3.so.0.4.12] (1,787,312 samples, 0.09%) + + + +wl_cursor_surfa (66,753,686 samples, 3.28%) +wl_.. + + +[libvulkan_radeon.so] (32,127,587 samples, 1.58%) + + + +[libvulkan_radeon.so] (107,882,053 samples, 5.30%) +[libvu.. + + +[libc.so.6] (46,098,571 samples, 2.27%) +[.. + + +[libvulkan_radeon.so] (27,478,656 samples, 1.35%) + + + +drmIoctl (9,071,006 samples, 0.45%) + + + +[libc.so.6] (7,908,299 samples, 0.39%) + + + +[libvulkan_radeon.so] (193,507,638 samples, 9.51%) +[libvulkan_ra.. + + +[libvulkan_radeon.so] (8,924,810 samples, 0.44%) + + + +__$map_get$$map[string]engine::Clip_Def (50,735,980 samples, 2.49%) +__.. + + +[libc.so.6] (8,383,491 samples, 0.41%) + + + +[libwayland-client.so.0.25.0] (30,122,421 samples, 1.48%) + + + +pthread_mutex_lock (9,237,440 samples, 0.45%) + + + +[libSDL3.so.0.4.12] (314,202,906 samples, 15.45%) +[libSDL3.so.0.4.12] + + +__libc_start_main (1,678,903,479 samples, 82.53%) +__libc_start_main + + +[libwayland-client.so.0.25.0] (71,410,483 samples, 3.51%) +[li.. + + +pthread_rwlock_wrlock (8,255,663 samples, 0.41%) + + + +[libvulkan_radeon.so] (141,310,138 samples, 6.95%) +[libvulka.. + + +[libc.so.6] (1,678,903,479 samples, 82.53%) +[libc.so.6] + + +engine::draw_sprite (382,327,024 samples, 18.79%) +engine::draw_sprite + + +pthread_rwlock_rdlock (9,042,124 samples, 0.44%) + + + +[libvulkan_radeon.so] (100,391,522 samples, 4.94%) +[libvu.. + + +malloc (8,637,556 samples, 0.42%) + + + +__close (48,327,993 samples, 2.38%) +_.. + + +[ld-linux-x86-64.so.2] (1,742,631 samples, 0.09%) + + + +[libvulkan_radeon.so] (11,566,188 samples, 0.57%) + + + +[ld-linux-x86-64.so.2] (1,742,631 samples, 0.09%) + + + +[libc.so.6] (26,403,012 samples, 1.30%) + + + +drmSyncobjDestroy (7,896,144 samples, 0.39%) + + + +mem::copy (6,317,225 samples, 0.31%) + + + +[libvulkan_radeon.so] (9,414,768 samples, 0.46%) + + + +[libSDL3.so.0.4.12] (8,164,232 samples, 0.40%) + + + +[libc.so.6] (26,403,012 samples, 1.30%) + + + +[libc.so.6] (9,657,865 samples, 0.47%) + + + +[libSDL3.so.0.4.12] (124,796,519 samples, 6.13%) +[libSDL3.. + + +__$hasher$$string (36,832,454 samples, 1.81%) +_.. + + +[libvulkan_radeon.so] (13,643,854 samples, 0.67%) + + + +[libvulkan_radeon.so] (100,391,522 samples, 4.94%) +[libvu.. + + +main (8,164,232 samples, 0.40%) + + + +[libc.so.6] (37,653,724 samples, 1.85%) +[.. + + +[libSDL3.so.0.4.12] (621,071,944 samples, 30.53%) +[libSDL3.so.0.4.12] + + +[libSDL3.so.0.4.12] (51,475,462 samples, 2.53%) +[l.. + + +[libvulkan_radeon.so] (438,557,355 samples, 21.56%) +[libvulkan_radeon.so] + + +[libSDL3.so.0.4.12] (19,721,685 samples, 0.97%) + + + +engine::to_clip (80,873,900 samples, 3.98%) +engi.. + + +[libvulkan_radeon.so] (107,882,053 samples, 5.30%) +[libvu.. + + +[libvulkan_radeon.so] (28,380,951 samples, 1.40%) + + + +wl_proxy_marshal_array_flags (144,422,541 samples, 7.10%) +wl_proxy_.. + + +engine::events (27,741,962 samples, 1.36%) + + + +[libc.so.6] (1,742,631 samples, 0.09%) + + + +runtime::string_eq (50,735,980 samples, 2.49%) +ru.. + + +[ld-linux-x86-64.so.2] (26,403,012 samples, 1.30%) + + + +[libwayland-client.so.0.25.0] (8,366,132 samples, 0.41%) + + + +[libc.so.6] (8,020,277 samples, 0.39%) + + + +drmSyncobjTimelineWait (9,090,776 samples, 0.45%) + + + +[unknown] (30,082,062 samples, 1.48%) + + + +[libvulkan_radeon.so] (82,793,811 samples, 4.07%) +[lib.. + + + (27,459,787 samples, 1.35%) + + + +[libvulkan_radeon.so] (40,236,838 samples, 1.98%) +[.. + + +wl_display_dispatch_queue_timeout (17,559,811 samples, 0.86%) + + + +[libvulkan_radeon.so] (53,272,742 samples, 2.62%) +[l.. + + +[libvulkan_radeon.so] (13,643,854 samples, 0.67%) + + + +dlopen (26,403,012 samples, 1.30%) + + + +[libvulkan_radeon.so] (46,006,259 samples, 2.26%) +[.. + + +__errno_location (8,648,795 samples, 0.43%) + + + +[libvulkan_radeon.so] (10,236,838 samples, 0.50%) + + + +[libvulkan_radeon.so] (18,485,774 samples, 0.91%) + + + +main::main (124,831,274 samples, 6.14%) +main::main + + +[libwayland-client.so.0.25.0] (89,146,302 samples, 4.38%) +[libw.. + + +[libvulkan_radeon.so] (68,422,760 samples, 3.36%) +[li.. + + +[libvulkan_radeon.so] (97,776,019 samples, 4.81%) +[libvu.. + + +[ld-linux-x86-64.so.2] (1,742,631 samples, 0.09%) + + + +[libvulkan_radeon.so] (34,398,347 samples, 1.69%) + + + +[ld-linux-x86-64.so.2] (26,278,849 samples, 1.29%) + + + +[libvulkan_radeon.so] (8,164,232 samples, 0.40%) + + + +pthread_mutex_lock (16,478,120 samples, 0.81%) + + + +_dl_catch_exception (26,403,012 samples, 1.30%) + + + +[libvulkan_radeon.so] (114,758,606 samples, 5.64%) +[libvul.. + + +[libvulkan_radeon.so] (8,924,810 samples, 0.44%) + + + +[libc.so.6] (39,402,521 samples, 1.94%) +[.. + + +pthread_mutex_lock (9,218,379 samples, 0.45%) + + + +[libSDL3.so.0.4.12] (16,657,228 samples, 0.82%) + + + +[libSDL3.so.0.4.12] (7,424,189 samples, 0.36%) + + + +[libvulkan_radeon.so] (82,793,811 samples, 4.07%) +[lib.. + + +[libSDL3.so.0.4.12] (19,721,685 samples, 0.97%) + + + +main::main (1,678,887,419 samples, 82.53%) +main::main + + +[libvulkan_radeon.so] (11,566,188 samples, 0.57%) + + + +crowd_perf (1,967,478,840 samples, 96.72%) +crowd_perf + + +[libvulkan_radeon.so] (107,882,053 samples, 5.30%) +[libvu.. + + +main::main (8,164,232 samples, 0.40%) + + + +[ld-linux-x86-64.so.2] (26,403,012 samples, 1.30%) + + + +ioctl (9,071,006 samples, 0.45%) + + + +[libc.so.6] (48,327,993 samples, 2.38%) +[.. + + +_dbus_list_pop_first_link (9,914,786 samples, 0.49%) + + + +[libc.so.6] (1,742,631 samples, 0.09%) + + + +engine::end_frame (124,796,519 samples, 6.13%) +engine::.. + + +[libSDL3.so.0.4.12] (124,796,519 samples, 6.13%) +[libSDL3.. + + +[libSDL3.so.0.4.12] (1,787,312 samples, 0.09%) + + + +clock_gettime (8,483,070 samples, 0.42%) + + + +drmIoctl (9,090,775 samples, 0.45%) + + + +[ld-linux-x86-64.so.2] (1,742,631 samples, 0.09%) + + + +engine::begin_frame (322,714,962 samples, 15.86%) +engine::begin_frame + + +[libvulkan_radeon.so] (19,233,079 samples, 0.95%) + + + +ioctl (7,303,997 samples, 0.36%) + + + +[libSDL3.so.0.4.12] (110,523,257 samples, 5.43%) +[libSDL.. + + +[libvulkan_radeon.so] (100,391,522 samples, 4.94%) +[libvu.. + + +[libc.so.6] (17,180,244 samples, 0.84%) + + + +[libvulkan_radeon.so] (112,169,713 samples, 5.51%) +[libvul.. + + +[libvulkan_radeon.so] (8,164,232 samples, 0.40%) + + + +[libvulkan_radeon.so] (430,574,925 samples, 21.17%) +[libvulkan_radeon.so] + + +[libSDL3.so.0.4.12] (1,787,312 samples, 0.09%) + + + +drmSyncobjWait (17,082,245 samples, 0.84%) + + + +[libvulkan_radeon.so] (7,424,189 samples, 0.36%) + + + +runtime::bounds_check_error (11,144,665 samples, 0.55%) + + + +[libc.so.6] (8,245,577 samples, 0.41%) + + + +drmSyncobjTimelineWait (9,071,006 samples, 0.45%) + + + +ioctl (9,090,774 samples, 0.45%) + + + +[libSDL3.so.0.4.12] (110,523,257 samples, 5.43%) +[libSDL.. + + +__vdso_clock_gettime (7,707,391 samples, 0.38%) + + + +runtime::default_hasher (29,280,891 samples, 1.44%) + + + +[libvulkan_radeon.so] (26,136,195 samples, 1.28%) + + + +[libvulkan_radeon.so] (31,298,993 samples, 1.54%) + + + +pthread_rwlock_unlock (9,297,990 samples, 0.46%) + + + +[libvulkan_radeon.so] (59,169,952 samples, 2.91%) +[l.. + + +_dbus_connection_unlock (9,914,786 samples, 0.49%) + + + +_dl_catch_exception (1,742,631 samples, 0.09%) + + + +[libc.so.6] (11,566,188 samples, 0.57%) + + + +[libvulkan_radeon.so] (26,136,195 samples, 1.28%) + + + +runtime::append_elem:proc (27,459,787 samples, 1.35%) + + + +engine::update_sprite (174,157,959 samples, 8.56%) +engine::upda.. + + +[libc.so.6] (10,140,378 samples, 0.50%) + + + +drmIoctl (7,896,144 samples, 0.39%) + + + +[libc.so.6] (18,130,716 samples, 0.89%) + + + +__libc_calloc (9,607,282 samples, 0.47%) + + + +engine::world_to_screen (35,275,968 samples, 1.73%) + + + +[libSDL3.so.0.4.12] (110,523,257 samples, 5.43%) +[libSDL.. + + +wl_display_dispatch_queue_pending (89,146,302 samples, 4.38%) +wl_di.. + + +pthread_mutex_lock (9,345,689 samples, 0.46%) + + + +engine::sprite_feet_quad (35,186,658 samples, 1.73%) + + + +[libvulkan_radeon.so] (202,015,929 samples, 9.93%) +[libvulkan_rad.. + + +[unknown] (9,090,771 samples, 0.45%) + + + +_start (1,678,903,479 samples, 82.53%) +_start + + +runtime::default_hasher_string (36,832,454 samples, 1.81%) +r.. + + +[unknown] (9,090,771 samples, 0.45%) + + + +[libvulkan.so.1.4.350] (26,403,012 samples, 1.30%) + + + +[libc.so.6] (8,514,459 samples, 0.42%) + + + +_dl_catch_exception (26,403,012 samples, 1.30%) + + + +drmSyncobjTransfer (7,303,997 samples, 0.36%) + + + +[libvulkan_radeon.so] (13,643,854 samples, 0.67%) + + + +pthread_mutex_lock (9,022,260 samples, 0.44%) + + + +[ld-linux-x86-64.so.2] (26,278,849 samples, 1.29%) + + + +ppoll (8,341,432 samples, 0.41%) + + + +