diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4e2229a..560178c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -48,6 +48,10 @@ jobs: - name: Odin version run: odin version + # assetbake tests need vendor:stb native libs + - name: Build Odin STB libraries + run: make -C "$(odin root)/vendor/stb/src" + - name: Unit tests run: make test diff --git a/.gitignore b/.gitignore index d94a80c..f4a94e2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,14 @@ *.bin tutorials/ + +# Flamegraph / perf profiling artifacts +tools/FlameGraph/ +perf.data +perf.data.old +flame-*.svg +flame-*.jpg +flame-*-report.txt +flame.svg +flame.jpg +flame-report.txt +*_perf diff --git a/engine/app.odin b/engine/app.odin index 310b5bb..7bc961a 100644 --- a/engine/app.odin +++ b/engine/app.odin @@ -76,6 +76,19 @@ init :: proc(app: ^App, title: cstring, width, height: i32) -> bool { return false } + // Prefer uncapped present for profiling; fall back if unsupported. + present := sdl.GPUPresentMode.VSYNC + if sdl.WindowSupportsGPUPresentMode(app.device, app.window, .IMMEDIATE) { + present = .IMMEDIATE + } else if sdl.WindowSupportsGPUPresentMode(app.device, app.window, .MAILBOX) { + present = .MAILBOX + } + if present != .VSYNC { + if !sdl.SetGPUSwapchainParameters(app.device, app.window, .SDR, present) { + fmt.eprintfln("SetGPUSwapchainParameters failed: %s", sdl.GetError()) + } + } + ok: bool app.shader, ok = choose_shader_runtime(app.device) if !ok do return false diff --git a/flame/crowd-20260803-003404-report.txt b/flame/crowd-20260803-003404-report.txt new file mode 100644 index 0000000..c598e56 --- /dev/null +++ b/flame/crowd-20260803-003404-report.txt @@ -0,0 +1,645 @@ +# To display the perf.data header info, please use --header/--header-only options. +# +# +# Total Lost Samples: 0 +# +# Samples: 499 of event 'cpu/cycles/Pu' +# Event count (approx.): 2684910393 +# +# Overhead Command Shared Object Symbol +# ........ ............... ............................. ........................................... +# + 9.56% crowd_perf crowd_perf [.] engine::draw_sprite + | + ---engine::draw_sprite + main::main + main + 0x7fe3b6c27740 + __libc_start_main + _start + + 5.33% crowd_perf crowd_perf [.] engine::to_clip + | + ---engine::to_clip + engine::draw_sprite + main::main + main + 0x7fe3b6c27740 + __libc_start_main + _start + + 3.98% crowd_perf crowd_perf [.] engine::sprite_feet_quad + | + ---engine::sprite_feet_quad + engine::draw_sprite + main::main + main + 0x7fe3b6c27740 + __libc_start_main + _start + + 3.01% crowd_perf crowd_perf [.] engine::update_sprite + | + ---engine::update_sprite + main::main + main + 0x7fe3b6c27740 + __libc_start_main + _start + + 2.56% crowd_perf crowd_perf [.] runtime::default_hasher + | + ---runtime::default_hasher + runtime::default_hasher_string + __$hasher$$string + | + |--1.36%--engine::character_frame + | engine::draw_sprite + | main::main + | main + | 0x7fe3b6c27740 + | __libc_start_main + | _start + | + --1.20%--engine::character_clip + engine::update_sprite + main::main + main + 0x7fe3b6c27740 + __libc_start_main + _start + + 2.49% crowd_perf libc.so.6 [.] 0x000000000018a4c4 + | + ---0x7fe3b6d8a4c4 + engine::draw_sprite + main::main + main + 0x7fe3b6c27740 + __libc_start_main + _start + + 2.47% 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 + 0x7fe3b6c27740 + __libc_start_main + _start + + 1.97% crowd_perf crowd_perf [.] runtime::bounds_check_error + | + ---runtime::bounds_check_error + engine::character_frame + engine::draw_sprite + main::main + main + 0x7fe3b6c27740 + __libc_start_main + _start + + 1.70% crowd_perf libwayland-client.so.0.25.0 [.] wl_proxy_marshal_array_flags + | + ---wl_proxy_marshal_array_flags + wl_proxy_marshal_flags + | + --0.87%--0x7fe396d97539 + 0x7fe396d8a4f8 + 0x7fe3b724ffc9 + engine::end_frame + main::main + main + 0x7fe3b6c27740 + __libc_start_main + _start + + 1.61% crowd_perf crowd_perf [.] __$map_get$$map[string]engine::Clip_Def + | + ---__$map_get$$map[string]engine::Clip_Def + | + |--1.00%--engine::character_frame + | engine::draw_sprite + | main::main + | main + | 0x7fe3b6c27740 + | __libc_start_main + | _start + | + --0.61%--engine::character_clip + engine::update_sprite + main::main + main + 0x7fe3b6c27740 + __libc_start_main + _start + + 1.57% wl_cursor_surfa libc.so.6 [.] 0x000000000009ca5c + 1.50% crowd_perf crowd_perf [.] engine::world_to_screen + | + ---engine::world_to_screen + engine::draw_sprite + main::main + main + 0x7fe3b6c27740 + __libc_start_main + _start + + 1.35% crowd_perf crowd_perf [.] runtime::memory_equal + | + ---runtime::memory_equal + runtime::string_eq + __$map_get$$map[string]engine::Clip_Def + | + --1.06%--engine::character_clip + engine::update_sprite + main::main + main + 0x7fe3b6c27740 + __libc_start_main + _start + + 1.33% crowd_perf libc.so.6 [.] pthread_mutex_lock + | + ---pthread_mutex_lock + + 1.31% crowd_perf crowd_perf [.] engine::character_frame + | + ---engine::character_frame + engine::draw_sprite + main::main + main + 0x7fe3b6c27740 + __libc_start_main + _start + + 1.19% crowd_perf crowd_perf [.] runtime::string_eq + | + ---runtime::string_eq + __$map_get$$map[string]engine::Clip_Def + | + |--0.62%--engine::character_frame + | engine::draw_sprite + | main::main + | main + | 0x7fe3b6c27740 + | __libc_start_main + | _start + | + --0.57%--engine::character_clip + engine::update_sprite + main::main + main + 0x7fe3b6c27740 + __libc_start_main + _start + + 1.18% crowd_perf [unknown] [k] 0xffffffffab355a81 + | + ---0xffffffffab355a81 + 0xffffffffa9e0012f + ioctl + drmIoctl + | + --0.59%--drmSyncobjCreate + 0x7fe396d8c878 + 0x7fe396d893c8 + 0x7fe396d89241 + 0x7fe3b72544bd + 0x7fe3b7069860 + engine::begin_frame + main::main + main + 0x7fe3b6c27740 + __libc_start_main + _start + + 1.11% crowd_perf libc.so.6 [.] clock_gettime + | + ---clock_gettime + | + --0.68%--0x7fe396f7a09a + + 1.08% crowd_perf libc.so.6 [.] 0x0000000000189c40 + | + ---0x7fe3b6d89c40 + 0x7fe3b6e6ee65 + wl_proxy_marshal_array_flags + wl_proxy_marshal_flags + 0x7fe396d97614 + 0x7fe396d8a4f8 + 0x7fe3b724ffc9 + engine::end_frame + main::main + main + 0x7fe3b6c27740 + __libc_start_main + _start + + 1.03% crowd_perf crowd_perf [.] main::main + | + ---main::main + main + 0x7fe3b6c27740 + __libc_start_main + _start + + 0.94% crowd_perf libc.so.6 [.] ioctl + | + ---ioctl + | + --0.94%--drmIoctl + + 0.91% crowd_perf libSDL3.so.0.4.12 [.] 0x00000000001428a1 + | + ---0x7fe3b71428a1 + 0x7fe3b714928f + 0x7fe3b7141b9a + 0x7fe3b71426da + + 0.89% crowd_perf ld-linux-x86-64.so.2 [.] 0x000000000000ac3a + | + ---0x7fe3b739bc3a + 0x7fe3b739c855 + 0x7fe3b73a0f57 + 0x7fe3b73a2e00 + 0x7fe3b739eeda + _dl_catch_exception + 0x7fe3b739e242 + _dl_catch_exception + 0x7fe3b739e7a9 + 0x7fe3b6c93bb3 + _dl_catch_exception + 0x7fe3b73935c8 + 0x7fe3b6c936a2 + dlopen + 0x7fe3b61b2c10 + 0x7fe3b61b7b4b + + 0.85% crowd_perf libc.so.6 [.] 0x000000000018a4c0 + | + ---0x7fe3b6d8a4c0 + engine::draw_sprite + main::main + main + 0x7fe3b6c27740 + __libc_start_main + _start + + 0.84% crowd_perf libSDL3.so.0.4.12 [.] 0x00000000000691d6 + | + ---0x7fe3b70691d6 + engine::end_frame + main::main + main + 0x7fe3b6c27740 + __libc_start_main + _start + + 0.76% crowd_perf libc.so.6 [.] pthread_rwlock_wrlock + | + ---pthread_rwlock_wrlock + + 0.74% crowd_perf libSDL3.so.0.4.12 [.] 0x0000000000142863 + | + ---0x7fe3b7142863 + 0x7fe3b71429b4 + 0x7fe3b714921a + 0x7fe3b7141b9a + 0x7fe3b71426da + + 0.74% crowd_perf libSDL3.so.0.4.12 [.] 0x0000000000149304 + | + ---0x7fe3b7149304 + 0x7fe3b7141b9a + 0x7fe3b71426da + + 0.74% crowd_perf libc.so.6 [.] 0x000000000018a0e8 + | + ---0x7fe3b6d8a0e8 + mem::copy + engine::load_character_data + main::main + main + 0x7fe3b6c27740 + __libc_start_main + _start + + 0.74% crowd_perf libc.so.6 [.] 0x000000000009ca5c + | + ---0x7fe3b6c9ca5c + + 0.73% crowd_perf libSDL3.so.0.4.12 [.] 0x0000000000143ffe + | + ---0x7fe3b7143ffe + 0x7fe3b714a028 + 0x7fe3b7141b9a + + 0.72% crowd_perf libSDL3.so.0.4.12 [.] 0x0000000000143fe9 + | + ---0x7fe3b7143fe9 + 0x7fe3b714a028 + 0x7fe3b7141b9a + + 0.71% crowd_perf libwayland-client.so.0.25.0 [.] 0x0000000000003263 + | + ---0x7fe3b6e6d263 + wl_proxy_marshal_flags + 0x7fe396d97937 + 0x7fe396d8a4f8 + 0x7fe3b724ffc9 + engine::end_frame + main::main + main + 0x7fe3b6c27740 + __libc_start_main + _start + + 0.70% crowd_perf crowd_perf [.] runtime::default_hasher_string + | + ---runtime::default_hasher_string + __$hasher$$string + + 0.69% crowd_perf libdrm.so.2.134.0 [.] drmSyncobjTimelineWait + | + ---drmSyncobjTimelineWait + + 0.68% crowd_perf libc.so.6 [.] 0x00000000000a590c + | + ---0x7fe3b6ca590c + 0x7fe396d827d6 + 0x7fe396d3cff4 + 0x7fe396ddcaf6 + 0x7fe396ddccd4 + 0x7fe396de6f2c + 0x7fe3b724fec1 + engine::end_frame + main::main + main + 0x7fe3b6c27740 + __libc_start_main + _start + + 0.66% crowd_perf libSDL3.so.0.4.12 [.] 0x000000000024d030 + | + ---0x7fe3b724d030 + 0x7fe3b724f5c0 + 0x7fe3b72545c5 + 0x7fe3b7069860 + engine::begin_frame + main::main + main + 0x7fe3b6c27740 + __libc_start_main + _start + + 0.66% crowd_perf libc.so.6 [.] 0x000000000018a547 + | + ---0x7fe3b6d8a547 + + 0.65% crowd_perf libvulkan_radeon.so [.] 0x00000000000d27b4 + | + ---0x7fe396cd27b4 + 0x7fe396de6325 + 0x7fe3b72546f1 + 0x7fe3b7069860 + engine::begin_frame + main::main + main + 0x7fe3b6c27740 + __libc_start_main + _start + + 0.64% crowd_perf libvulkan_radeon.so [.] 0x0000000000022d88 + | + ---0x7fe396c22d88 + 0x7fe396cd2f6f + 0x7fe396de6325 + + 0.61% crowd_perf crowd_perf [.] engine::texture_run_len + | + ---engine::texture_run_len + engine::end_frame + main::main + main + 0x7fe3b6c27740 + __libc_start_main + _start + + 0.55% crowd_perf libvulkan_radeon.so [.] 0x00000000000bbf60 + | + ---0x7fe396cbbf60 + 0x7fe396cc6c98 + 0x7fe396cc985a + 0x7fe396cd7932 + engine::end_frame + main::main + main + 0x7fe3b6c27740 + __libc_start_main + _start + + 0.54% crowd_perf libvulkan_radeon.so [.] 0x000000000022daad + | + ---0x7fe396e2daad + 0x7fe396d15bcb + 0x7fe396d162ff + + 0.53% crowd_perf libSDL3.so.0.4.12 [.] 0x000000000023af6a + | + ---0x7fe3b723af6a + 0x7fe3b7249f38 + engine::end_frame + main::main + main + 0x7fe3b6c27740 + __libc_start_main + _start + + 0.48% crowd_perf libwayland-client.so.0.25.0 [.] wl_display_flush + 0.48% crowd_perf libvulkan_radeon.so [.] 0x00000000000cf827 + 0.47% crowd_perf libSDL3.so.0.4.12 [.] 0x00000000000166ae + 0.44% crowd_perf libvulkan_radeon.so [.] 0x0000000000022daa + 0.43% crowd_perf libc.so.6 [.] cfree + 0.43% crowd_perf libvulkan_radeon.so [.] 0x00000000000d2c23 + 0.41% crowd_perf libc.so.6 [.] 0x00000000000a58f9 + 0.41% crowd_perf libvulkan_radeon.so [.] 0x000000000018d44f + 0.40% crowd_perf libvulkan_radeon.so [.] 0x000000000002b9b1 + 0.40% crowd_perf libvulkan_radeon.so [.] 0x00000000001e4771 + 0.40% crowd_perf libwayland-client.so.0.25.0 [.] 0x00000000000055ca + 0.39% crowd_perf libvulkan_radeon.so [.] 0x0000000000116639 + 0.39% crowd_perf libvulkan_radeon.so [.] 0x00000000001d1196 + 0.39% crowd_perf libwayland-client.so.0.25.0 [.] 0x000000000000315e + 0.39% crowd_perf libvulkan_radeon.so [.] 0x000000000002d957 + 0.39% crowd_perf libvulkan_radeon.so [.] 0x000000000013d072 + 0.39% crowd_perf libvulkan_radeon.so [.] 0x00000000000cb17b + 0.38% crowd_perf libSDL3.so.0.4.12 [.] 0x000000000005485a + 0.38% crowd_perf libc.so.6 [.] malloc + 0.38% crowd_perf libc.so.6 [.] 0x0000000000180625 + 0.38% crowd_perf libvulkan_radeon.so [.] 0x000000000033b85f + 0.38% crowd_perf libvulkan_radeon.so [.] 0x00000000000ccd20 + 0.38% crowd_perf libvulkan_radeon.so [.] 0x00000000000c9899 + 0.38% crowd_perf libvulkan_radeon.so [.] 0x00000000001deb23 + 0.38% crowd_perf libvulkan_radeon.so [.] 0x00000000000284e5 + 0.38% crowd_perf libvulkan_radeon.so [.] 0x00000000001f41b7 + 0.37% crowd_perf libvulkan_radeon.so [.] 0x0000000000027cca + 0.37% crowd_perf libSDL3.so.0.4.12 [.] 0x00000000002476b9 + 0.37% crowd_perf libvulkan_radeon.so [.] 0x00000000001f41d6 + 0.37% crowd_perf libc.so.6 [.] 0x000000000018a52e + 0.37% crowd_perf crowd_perf [.] runtime::map_seed_from_map_data + 0.36% crowd_perf libdbus-1.so.3.38.3 [.] _dbus_rmutex_lock + 0.36% crowd_perf libvulkan_radeon.so [.] 0x00000000001e2e46 + 0.36% crowd_perf libvulkan_radeon.so [.] 0x000000000022e017 + 0.36% crowd_perf libvulkan_radeon.so [.] 0x00000000000b7b5f + 0.35% crowd_perf libdbus-1.so.3.38.3 [.] _dbus_message_loader_queue_messages + 0.35% crowd_perf libc.so.6 [.] pthread_rwlock_rdlock + 0.35% crowd_perf libvulkan_radeon.so [.] 0x00000000000be015 + 0.35% crowd_perf libvulkan_radeon.so [.] 0x00000000000c49da + 0.34% crowd_perf libc.so.6 [.] 0x000000000018a507 + 0.34% crowd_perf libwayland-client.so.0.25.0 [.] wl_display_dispatch_queue_pending + 0.34% crowd_perf libvulkan_radeon.so [.] 0x0000000000197523 + 0.34% crowd_perf libvulkan_radeon.so [.] 0x00000000000ec905 + 0.34% crowd_perf libvulkan_radeon.so [.] 0x00000000000c4a56 + 0.34% crowd_perf libvulkan_radeon.so [.] 0x00000000000cb864 + 0.34% crowd_perf libdrm.so.2.134.0 [.] drmIoctl + 0.34% crowd_perf crowd_perf [.] engine::character_clip + 0.34% crowd_perf libvulkan_radeon.so [.] 0x000000000002d8f7 + 0.33% crowd_perf libvulkan_radeon.so [.] 0x000000000002f104 + 0.33% crowd_perf libc.so.6 [.] pthread_mutex_unlock + 0.33% crowd_perf libSDL3.so.0.4.12 [.] 0x00000000000f7a2c + 0.33% crowd_perf libvulkan_radeon.so [.] 0x00000000000b92b8 + 0.33% crowd_perf crowd_perf [.] engine::begin_frame + 0.33% crowd_perf libSDL3.so.0.4.12 [.] 0x000000000023b8f4 + 0.33% crowd_perf libvulkan_radeon.so [.] 0x00000000000c2207 + 0.33% crowd_perf libvulkan_radeon.so [.] 0x000000000018c7d5 + 0.32% wl_cursor_surfa [unknown] [k] 0xffffffffa9e000ad + 0.32% crowd_perf libSDL3.so.0.4.12 [.] 0x000000000024ab50 + 0.32% crowd_perf libvulkan_radeon.so [.] 0x0000000000022a03 + 0.32% crowd_perf libvulkan_radeon.so [.] 0x00000000000c9cd7 + 0.32% crowd_perf libvulkan_radeon.so [.] 0x0000000000116770 + 0.32% crowd_perf libvulkan_radeon.so [.] 0x0000000000182332 + 0.32% crowd_perf libvulkan_radeon.so [.] 0x00000000000ebd64 + 0.32% crowd_perf libvulkan_radeon.so [.] 0x00000000001f3c19 + 0.31% crowd_perf libc.so.6 [.] __errno_location + 0.31% crowd_perf libc.so.6 [.] 0x00000000000a57e4 + 0.31% crowd_perf libc.so.6 [.] 0x000000000018a4b0 + 0.31% wl_cursor_surfa libwayland-client.so.0.25.0 [.] wl_display_dispatch_queue_pending + 0.30% wl_cursor_surfa libc.so.6 [.] 0x00000000000a7491 + 0.30% crowd_perf libvulkan_radeon.so [.] 0x00000000001801f0 + 0.30% crowd_perf libwayland-client.so.0.25.0 [.] 0x00000000000039f1 + 0.30% crowd_perf libSDL3.so.0.4.12 [.] 0x000000000023c110 + 0.30% crowd_perf libvulkan_radeon.so [.] 0x00000000001dd301 + 0.30% crowd_perf libSDL3.so.0.4.12 [.] 0x00000000000176c9 + 0.30% crowd_perf libc.so.6 [.] 0x0000000000189c53 + 0.30% crowd_perf libc.so.6 [.] 0x0000000000180600 + 0.30% crowd_perf crowd_perf [.] __$hasher$$string + 0.30% crowd_perf libvulkan_radeon.so [.] 0x00000000000c8b16 + 0.30% crowd_perf libvulkan_radeon.so [.] 0x00000000000cd419 + 0.30% crowd_perf libvulkan_radeon.so [.] 0x000000000021b321 + 0.30% crowd_perf libSDL3.so.0.4.12 [.] 0x000000000023b39a + 0.30% crowd_perf libc.so.6 [.] 0x000000000018a4ea + 0.30% crowd_perf libSDL3.so.0.4.12 [.] 0x000000000023be20 + 0.29% crowd_perf libvulkan_radeon.so [.] 0x0000000000027f50 + 0.29% crowd_perf libvulkan_radeon.so [.] 0x0000000000022e83 + 0.28% crowd_perf libvulkan_radeon.so [.] 0x00000000000d178c + 0.28% crowd_perf libvulkan_radeon.so [.] 0x00000000000d6734 + 0.28% crowd_perf libvulkan_radeon.so [.] 0x00000000000bb103 + 0.28% crowd_perf libvulkan_radeon.so [.] 0x00000000000b70b2 + 0.28% crowd_perf libvulkan_radeon.so [.] 0x00000000000cc0c4 + 0.26% crowd_perf libSDL3.so.0.4.12 [.] 0x0000000000017694 + 0.26% crowd_perf libvulkan_radeon.so [.] 0x000000000017e9d4 + 0.26% crowd_perf libvulkan_radeon.so [.] 0x00000000000d64a8 + 0.26% crowd_perf libvulkan_radeon.so [.] 0x0000000000335bd4 + 0.26% crowd_perf libSDL3.so.0.4.12 [.] 0x0000000000243e20 + 0.26% wl_cursor_surfa libwayland-client.so.0.25.0 [.] 0x0000000000004951 + 0.25% crowd_perf libvulkan_radeon.so [.] 0x0000000000189397 + 0.25% crowd_perf libwayland-client.so.0.25.0 [.] 0x0000000000003147 + 0.24% crowd_perf libvulkan_radeon.so [.] 0x000000000068d01a + 0.24% crowd_perf libvulkan_radeon.so [.] 0x00000000001e379c + 0.24% crowd_perf libdrm.so.2.134.0 [.] drmSyncobjWait + 0.23% crowd_perf [unknown] [k] 0xffffffffa9e000ca + 0.23% crowd_perf libvulkan_radeon.so [.] 0x000000000028eca3 + 0.20% crowd_perf libvulkan_radeon.so [.] 0x000000000002d851 + 0.20% wl_cursor_surfa libc.so.6 [.] 0x00000000000a73ff + 0.18% crowd_perf libxkbcommon.so.0.13.2 [.] xkb_keymap_key_get_syms_by_level + 0.18% crowd_perf libvulkan_radeon.so [.] 0x00000000001dce94 + 0.10% crowd_perf libdbus-1.so.3.38.3 [.] _dbus_connection_unlock + 0.08% wl_cursor_surfa libc.so.6 [.] 0x00000000000a6761 + 0.01% crowd_perf libc.so.6 [.] 0x0000000000189d47 + 0.00% wl_cursor_surfa libc.so.6 [.] 0x0000000000094084 + 0.00% wl_cursor_surfa libc.so.6 [.] 0x000000000018a507 + 0.00% wl_cursor_surfa libc.so.6 [.] pthread_mutex_lock + 0.00% crowd_perf libnvidia-glcore.so.610.43.03 [.] 0x0000000000e922c9 + 0.00% crowd_perf [unknown] [k] 0xffffffffab35a5c1 + 0.00% crowd_perf libnvidia-glcore.so.610.43.03 [.] 0x0000000000fcd461 + 0.00% wl_cursor_surfa libSDL3.so.0.4.12 [.] 0x00000000001e3f74 + 0.00% wl_cursor_surfa libSDL3.so.0.4.12 [.] 0x00000000001cd7b4 + 0.00% crowd_perf libvulkan_radeon.so [.] 0x000000000017ff33 + 0.00% crowd_perf ld-linux-x86-64.so.2 [.] 0x000000000000af32 + 0.00% wl_cursor_surfa libwayland-client.so.0.25.0 [.] wl_display_read_events + 0.00% crowd_perf libvulkan_radeon.so [.] 0x00000000000d65a4 + 0.00% crowd_perf libc.so.6 [.] vsnprintf + 0.00% crowd_perf libc.so.6 [.] 0x0000000000184dd2 + 0.00% crowd_perf libvulkan_radeon.so [.] 0x0000000000193ec9 + 0.00% crowd_perf ld-linux-x86-64.so.2 [.] 0x00000000000147f8 + 0.00% crowd_perf libvulkan_radeon.so [.] 0x0000000000345adb + 0.00% crowd_perf libc.so.6 [.] __ctype_init + 0.00% crowd_perf libc.so.6 [.] 0x0000000000064834 + 0.00% crowd_perf libvulkan_radeon.so [.] 0x0000000000345ad6 + 0.00% crowd_perf libvulkan_radeon.so [.] 0x0000000000344ddb + 0.00% crowd_perf ld-linux-x86-64.so.2 [.] 0x0000000000005d0b + 0.00% crowd_perf libvulkan_radeon.so [.] 0x0000000000345b18 + 0.00% crowd_perf libvulkan_radeon.so [.] 0x0000000000345bb0 + 0.00% wl_cursor_surfa libSDL3.so.0.4.12 [.] 0x00000000001e3f76 + 0.00% crowd_perf libvulkan_radeon.so [.] 0x0000000000345ce7 + 0.00% crowd_perf ld-linux-x86-64.so.2 [.] 0x000000000000616e + 0.00% crowd_perf libc.so.6 [.] 0x0000000000094040 + 0.00% crowd_perf libvulkan_radeon.so [.] 0x00000000001f3362 + 0.00% crowd_perf libc.so.6 [.] realloc + 0.00% crowd_perf libvulkan_radeon.so [.] 0x0000000000345bb3 + 0.00% crowd_perf ld-linux-x86-64.so.2 [.] 0x000000000000ac94 + 0.00% crowd_perf libc.so.6 [.] pthread_setaffinity_np + 0.00% crowd_perf libc.so.6 [.] 0x0000000000097417 + 0.00% crowd_perf libc.so.6 [.] 0x00000000000973bb + 0.00% crowd_perf libdrm_amdgpu.so.1.134.0 [.] 0x00000000000078b0 + 0.00% crowd_perf [unknown] [k] 0xffffffffa9e01284 + 0.00% crowd_perf libc.so.6 [.] 0x0000000000103a40 + 0.00% crowd_perf ld-linux-x86-64.so.2 [.] 0x000000000001fcc4 + 0.00% crowd_perf libvulkan_radeon.so [.] 0x0000000000344ccb + 0.00% crowd_perf libvulkan_radeon.so [.] 0x0000000000344cd4 + 0.00% wl_cursor_surfa libc.so.6 [.] ppoll + 0.00% wl_cursor_surfa libc.so.6 [.] 0x0000000000094040 + 0.00% crowd_perf libc.so.6 [.] 0x000000000011bed0 + 0.00% crowd_perf [unknown] [k] 0xffffffffa9e01280 + 0.00% wl_cursor_surfa libc.so.6 [.] 0x0000000000094047 + 0.00% wl_cursor_surfa libc.so.6 [.] 0x0000000000094085 + 0.00% crowd_perf libc.so.6 [.] 0x00000000000973a0 + 0.00% crowd_perf libc.so.6 [.] 0x000000000011bed7 + 0.00% crowd_perf ld-linux-x86-64.so.2 [.] 0x0000000000002ede + 0.00% crowd_perf ld-linux-x86-64.so.2 [.] 0x0000000000006167 + 0.00% crowd_perf ld-linux-x86-64.so.2 [.] 0x000000000000ac75 + 0.00% crowd_perf ld-linux-x86-64.so.2 [.] 0x000000000000b7f3 + 0.00% crowd_perf ld-linux-x86-64.so.2 [.] 0x000000000000b84a + 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 ld-linux-x86-64.so.2 [.] 0x000000000001fcc0 + 0.00% crowd_perf libc.so.6 [.] 0x000000000011bed2 + 0.00% crowd_perf libc.so.6 [.] 0x000000000011bed5 + 0.00% crowd_perf libdrm.so.2.134.0 [.] drmSyncobjImportSyncFile + 0.00% crowd_perf libdrm_amdgpu.so.1.134.0 [.] amdgpu_device_initialize + 0.00% crowd_perf libnvidia-glcore.so.610.43.03 [.] 0x0000000000fcd464 + 0.00% crowd_perf libnvidia-glcore.so.610.43.03 [.] 0x0000000000fcd46a + 0.00% crowd_perf libvulkan_radeon.so [.] 0x0000000000344ce2 + 0.00% crowd_perf libvulkan_radeon.so [.] 0x0000000000344ddd + 0.00% crowd_perf libz.so.1.3.2 [.] 0x0000000000003004 + 0.00% crowd_perf libz.so.1.3.2 [.] 0x000000000000300f + 0.00% crowd_perf [unknown] [k] 0xffffffffa9e01670 + 0.00% wl_cursor_surfa libc.so.6 [.] recvmsg + + +# +# (Tip: To change sampling frequency to 100 Hz: perf record -F 100) +# diff --git a/flame/crowd-20260803-003404.jpg b/flame/crowd-20260803-003404.jpg new file mode 100644 index 0000000..62b26eb Binary files /dev/null and b/flame/crowd-20260803-003404.jpg differ diff --git a/flame/crowd-20260803-003404.svg b/flame/crowd-20260803-003404.svg new file mode 100644 index 0000000..cda6543 --- /dev/null +++ b/flame/crowd-20260803-003404.svg @@ -0,0 +1,1442 @@ + + + + + + + + + + + + + + +Flame Graph + +Reset Zoom +Search +ic + + + +wl_display_dispatch_queue_timeout (4,867,811 samples, 0.18%) + + + +[unknown] (15,765,125 samples, 0.59%) + + + +[libvulkan_radeon.so] (20,165,936 samples, 0.75%) + + + +__libc_start_main (2,325,873,566 samples, 86.63%) +__libc_start_main + + +[libxkbcommon.so.0.13.2] (4,867,811 samples, 0.18%) + + + +drmSyncobjTimelineWait (9,689,753 samples, 0.36%) + + + +[unknown] (7,894,438 samples, 0.29%) + + + +[ld-linux-x86-64.so.2] (24,046,693 samples, 0.90%) + + + +[libvulkan_radeon.so] (27,602,917 samples, 1.03%) + + + +wl_display_dispatch_queue (4,867,811 samples, 0.18%) + + + +_dl_catch_exception (24,166,241 samples, 0.90%) + + + +[libc.so.6] (8,329,704 samples, 0.31%) + + + +runtime::default_hasher_string (45,610,072 samples, 1.70%) + + + +[libvulkan_radeon.so] (20,165,936 samples, 0.75%) + + + +__errno_location (8,333,117 samples, 0.31%) + + + +[libvulkan_radeon.so] (20,165,936 samples, 0.75%) + + + +engine::now_seconds (8,937,033 samples, 0.33%) + + + +[libc.so.6] (8,609,523 samples, 0.32%) + + + +[ld-linux-x86-64.so.2] (24,166,241 samples, 0.90%) + + + +[libc.so.6] (2,325,873,566 samples, 86.63%) +[libc.so.6] + + +drmIoctl (8,333,117 samples, 0.31%) + + + +[libvulkan_radeon.so] (46,365,605 samples, 1.73%) + + + +[ld-linux-x86-64.so.2] (24,166,241 samples, 0.90%) + + + +__$map_get$$map[string]engine::Clip_Def (51,413,351 samples, 1.91%) +_.. + + +[libvulkan_radeon.so] (17,893,270 samples, 0.67%) + + + +main::main (102,375,730 samples, 3.81%) +main.. + + +[libvulkan_radeon.so] (27,602,917 samples, 1.03%) + + + +[libvulkan_radeon.so] (20,165,936 samples, 0.75%) + + + +[libwayland-client.so.0.25.0] (8,176,325 samples, 0.30%) + + + +clock_gettime (9,457,305 samples, 0.35%) + + + +[libSDL3.so.0.4.12] (20,165,936 samples, 0.75%) + + + +ffi_call (4,867,811 samples, 0.18%) + + + +engine::draw_sprite (896,023,829 samples, 33.37%) +engine::draw_sprite + + +__$map_get$$map[string]engine::Clip_Def (60,083,267 samples, 2.24%) +_.. + + +[libvulkan_radeon.so] (22,785,634 samples, 0.85%) + + + +mem::copy (8,099,944 samples, 0.30%) + + + +[libvulkan_radeon.so] (18,934,680 samples, 0.71%) + + + +[libvulkan_radeon.so] (20,165,936 samples, 0.75%) + + + +[libSDL3.so.0.4.12] (102,350,476 samples, 3.81%) +[lib.. + + +[libvulkan_radeon.so] (30,821,044 samples, 1.15%) + + + +[libSDL3.so.0.4.12] (4,867,811 samples, 0.18%) + + + +[unknown] (8,073,129 samples, 0.30%) + + + +[libSDL3.so.0.4.12] (20,165,936 samples, 0.75%) + + + +engine::to_clip (143,123,872 samples, 5.33%) +engine.. + + +engine::load_character_data (19,760,380 samples, 0.74%) + + + +[libvulkan_radeon.so] (39,867,365 samples, 1.48%) + + + +[libvulkan_radeon.so] (17,893,270 samples, 0.67%) + + + +wl_proxy_marshal_flags (128,335,224 samples, 4.78%) +wl_pr.. + + +engine::world_to_screen (40,376,572 samples, 1.50%) + + + +main::main (2,325,873,566 samples, 86.63%) +main::main + + +ioctl (8,073,129 samples, 0.30%) + + + +clock_gettime (11,761,000 samples, 0.44%) + + + +[libvulkan_radeon.so] (373,391,122 samples, 13.91%) +[libvulkan_radeon.so] + + +[libSDL3.so.0.4.12] (31,439,487 samples, 1.17%) + + + +engine::end_frame (20,165,936 samples, 0.75%) + + + +[libSDL3.so.0.4.12] (8,937,033 samples, 0.33%) + + + +[libdbus-1.so.3.38.3] (9,529,738 samples, 0.35%) + + + +xkb_keymap_new_from_buffer (4,867,811 samples, 0.18%) + + + +[libc.so.6] (24,166,241 samples, 0.90%) + + + +pthread_rwlock_wrlock (9,476,480 samples, 0.35%) + + + +[libc.so.6] (8,284,715 samples, 0.31%) + + + +[libvulkan_radeon.so] (95,460,934 samples, 3.56%) +[li.. + + +[libSDL3.so.0.4.12] (103,230,201 samples, 3.84%) +[lib.. + + +[libvulkan_radeon.so] (21,953,219 samples, 0.82%) + + + +engine::events (64,906,447 samples, 2.42%) +en.. + + +[libc.so.6] (97,843,162 samples, 3.64%) +[lib.. + + +[libvulkan_radeon.so] (83,782,807 samples, 3.12%) +[li.. + + +[libSDL3.so.0.4.12] (17,893,270 samples, 0.67%) + + + +[libvulkan_radeon.so] (65,642,792 samples, 2.44%) +[l.. + + +mem::copy (19,760,380 samples, 0.74%) + + + +drmIoctl (24,410,411 samples, 0.91%) + + + +[libvulkan_radeon.so] (137,053,667 samples, 5.10%) +[libvu.. + + +engine::character_frame (184,996,998 samples, 6.89%) +engine::c.. + + +__$hasher$$string (50,181,034 samples, 1.87%) +_.. + + +[libc.so.6] (26,830,369 samples, 1.00%) + + + +[libSDL3.so.0.4.12] (5,046,260 samples, 0.19%) + + + +clock_gettime (8,682,395 samples, 0.32%) + + + +[libvulkan_radeon.so] (17,893,270 samples, 0.67%) + + + +drmSyncobjTimelineWait (8,073,129 samples, 0.30%) + + + +[ld-linux-x86-64.so.2] (24,046,693 samples, 0.90%) + + + +[libvulkan_radeon.so] (98,492,942 samples, 3.67%) +[lib.. + + +pthread_mutex_lock (15,989,088 samples, 0.60%) + + + +[libdbus-1.so.3.38.3] (9,529,738 samples, 0.35%) + + + +[libvulkan_radeon.so] (20,165,936 samples, 0.75%) + + + +[libc.so.6] (18,190,983 samples, 0.68%) + + + +[libvulkan_radeon.so] (9,457,305 samples, 0.35%) + + + +[libSDL3.so.0.4.12] (305,619,941 samples, 11.38%) +[libSDL3.so.0.4... + + +engine::character_clip (129,128,695 samples, 4.81%) +engine.. + + +[unknown] (8,713,200 samples, 0.32%) + + + +[libSDL3.so.0.4.12] (64,906,447 samples, 2.42%) +[l.. + + +engine::sprite_feet_quad (106,738,476 samples, 3.98%) +engi.. + + +_dbus_rmutex_lock (9,679,881 samples, 0.36%) + + + +wl_display_roundtrip_queue (4,867,811 samples, 0.18%) + + + +[libvulkan_radeon.so] (95,460,934 samples, 3.56%) +[li.. + + +[unknown] (7,894,438 samples, 0.29%) + + + +engine::update_sprite (209,975,262 samples, 7.82%) +engine::upd.. + + +[libvulkan_radeon.so] (20,165,936 samples, 0.75%) + + + +pthread_rwlock_rdlock (9,502,808 samples, 0.35%) + + + +[libvulkan.so.1.4.350] (24,232,285 samples, 0.90%) + + + +[libvulkan_radeon.so] (27,602,917 samples, 1.03%) + + + +runtime::default_hasher_string (42,122,192 samples, 1.57%) + + + +main (26,830,303 samples, 1.00%) + + + +[libvulkan_radeon.so] (17,893,270 samples, 0.67%) + + + +drmSyncobjReset (6,288,764 samples, 0.23%) + + + +[libSDL3.so.0.4.12] (17,893,270 samples, 0.67%) + + + +runtime::memory_equal (7,749,106 samples, 0.29%) + + + +_start (2,325,873,566 samples, 86.63%) +_start + + +[libvulkan_radeon.so] (95,460,934 samples, 3.56%) +[li.. + + +crowd_perf (2,602,790,390 samples, 96.94%) +crowd_perf + + +[libc.so.6] (29,261,670 samples, 1.09%) + + + +[libc.so.6] (9,248,689 samples, 0.34%) + + + +[libSDL3.so.0.4.12] (241,237,142 samples, 8.98%) +[libSDL3.so... + + +wl_proxy_marshal_array_flags (109,291,577 samples, 4.07%) +wl_p.. + + +[libdbus-1.so.3.38.3] (30,173,943 samples, 1.12%) + + + +__$hasher$$string (45,610,072 samples, 1.70%) + + + +[libc.so.6] (28,894,233 samples, 1.08%) + + + +[libSDL3.so.0.4.12] (647,623,856 samples, 24.12%) +[libSDL3.so.0.4.12] + + +pthread_mutex_lock (10,528,118 samples, 0.39%) + + + +[ld-linux-x86-64.so.2] (24,046,869 samples, 0.90%) + + + +engine::end_frame (102,350,476 samples, 3.81%) +engi.. + + +[ld-linux-x86-64.so.2] (24,046,691 samples, 0.90%) + + + +[libvulkan_radeon.so] (95,460,934 samples, 3.56%) +[li.. + + +[libSDL3.so.0.4.12] (33,057,356 samples, 1.23%) + + + +[libSDL3.so.0.4.12] (305,619,941 samples, 11.38%) +[libSDL3.so.0.4... + + +[libvulkan_radeon.so] (51,572,212 samples, 1.92%) +[.. + + +wl_cursor_surfa (82,120,003 samples, 3.06%) +wl_.. + + +wl_display_dispatch_queue_pending (4,867,811 samples, 0.18%) + + + +drmSyncobjTimelineWait (17,210,837 samples, 0.64%) + + + +[libvulkan_radeon.so] (159,373,716 samples, 5.94%) +[libvul.. + + +cfree (11,600,561 samples, 0.43%) + + + + (66,188,790 samples, 2.47%) + + + +[libSDL3.so.0.4.12] (64,906,447 samples, 2.42%) +[l.. + + +[libc.so.6] (8,072,467 samples, 0.30%) + + + +_dbus_message_loader_queue_messages (9,529,738 samples, 0.35%) + + + +engine::init (5,046,260 samples, 0.19%) + + + +[libSDL3.so.0.4.12] (34,732,504 samples, 1.29%) + + + +xkb_keymap_key_get_syms_by_level (4,867,811 samples, 0.18%) + + + +[libvulkan_radeon.so] (30,821,044 samples, 1.15%) + + + +[libc.so.6] (11,451,287 samples, 0.43%) + + + +[libvulkan_radeon.so] (383,913,626 samples, 14.30%) +[libvulkan_radeon.so] + + +drmIoctl (7,695,818 samples, 0.29%) + + + +[ld-linux-x86-64.so.2] (24,166,241 samples, 0.90%) + + + +[libdbus-1.so.3.38.3] (10,964,324 samples, 0.41%) + + + +[libSDL3.so.0.4.12] (102,350,476 samples, 3.81%) +[lib.. + + +[libvulkan_radeon.so] (20,165,936 samples, 0.75%) + + + +[libSDL3.so.0.4.12] (15,219,501 samples, 0.57%) + + + +[libwayland-client.so.0.25.0] (4,867,811 samples, 0.18%) + + + +[libvulkan_radeon.so] (84,778,156 samples, 3.16%) +[li.. + + +[libvulkan_radeon.so] (23,874,617 samples, 0.89%) + + + +[libvulkan_radeon.so] (115,859,622 samples, 4.32%) +[libv.. + + +[libvulkan_radeon.so] (17,893,270 samples, 0.67%) + + + +runtime::default_hasher (36,617,931 samples, 1.36%) + + + +all (2,684,910,393 samples, 100%) + + + +[libvulkan_radeon.so] (17,893,270 samples, 0.67%) + + + +_dl_catch_exception (24,166,241 samples, 0.90%) + + + +[libxkbcommon.so.0.13.2] (4,867,811 samples, 0.18%) + + + +dbus_connection_get_dispatch_status (19,209,619 samples, 0.72%) + + + +runtime::memory_equal (28,496,073 samples, 1.06%) + + + +[ld-linux-x86-64.so.2] (24,166,241 samples, 0.90%) + + + +ioctl (7,695,818 samples, 0.29%) + + + +[libc.so.6] (19,760,380 samples, 0.74%) + + + +drmIoctl (6,288,764 samples, 0.23%) + + + +XkbKeyNumLevels (4,867,811 samples, 0.18%) + + + +drmIoctl (15,765,125 samples, 0.59%) + + + +[libvulkan.so.1.4.350] (24,232,285 samples, 0.90%) + + + +ioctl (15,318,471 samples, 0.57%) + + + +ioctl (15,765,125 samples, 0.59%) + + + +engine::end_frame (788,023,763 samples, 29.35%) +engine::end_frame + + +pthread_mutex_unlock (8,943,605 samples, 0.33%) + + + +[libSDL3.so.0.4.12] (103,230,201 samples, 3.84%) +[lib.. + + +drmSyncobjDestroy (10,159,704 samples, 0.38%) + + + +[libSDL3.so.0.4.12] (79,867,488 samples, 2.97%) +[l.. + + +[libvulkan_radeon.so] (20,165,936 samples, 0.75%) + + + +[libwayland-client.so.0.25.0] (19,043,647 samples, 0.71%) + + + +main (2,325,873,566 samples, 86.63%) +main + + +dlopen (24,166,241 samples, 0.90%) + + + +[libvulkan_radeon.so] (10,221,359 samples, 0.38%) + + + +drmIoctl (10,159,704 samples, 0.38%) + + + +runtime::map_seed_from_map_data (9,800,570 samples, 0.37%) + + + +[libc.so.6] (8,329,704 samples, 0.31%) + + + +main::main (26,830,303 samples, 1.00%) + + + +[unknown] (6,288,764 samples, 0.23%) + + + +_dbus_connection_unlock (10,964,324 samples, 0.41%) + + + +main::main (20,165,936 samples, 0.75%) + + + +[libwayland-client.so.0.25.0] (4,867,811 samples, 0.18%) + + + +[libvulkan_radeon.so] (46,365,605 samples, 1.73%) + + + +[libvulkan_radeon.so] (95,460,934 samples, 3.56%) +[li.. + + +runtime::string_eq (24,488,583 samples, 0.91%) + + + +runtime::_append_elem (66,188,790 samples, 2.47%) +ru.. + + +[libvulkan_radeon.so] (17,893,270 samples, 0.67%) + + + +[libvulkan_radeon.so] (27,602,917 samples, 1.03%) + + + +engine::texture_run_len (16,440,341 samples, 0.61%) + + + +[libvulkan_radeon.so] (21,953,219 samples, 0.82%) + + + +[libvulkan_radeon.so] (225,752,453 samples, 8.41%) +[libvulkan_r.. + + +pthread_rwlock_wrlock (10,844,162 samples, 0.40%) + + + +drmIoctl (8,073,129 samples, 0.30%) + + + +engine::begin_frame (314,545,856 samples, 11.72%) +engine::begin_frame + + +[libc.so.6] (24,166,241 samples, 0.90%) + + + +xkb_keymap_key_get_level (4,867,811 samples, 0.18%) + + + +wl_display_dispatch_queue_pending (40,392,981 samples, 1.50%) + + + +_dl_catch_exception (24,166,241 samples, 0.90%) + + + +runtime::string_eq (43,778,212 samples, 1.63%) + + + +ioctl (10,159,704 samples, 0.38%) + + + +[libSDL3.so.0.4.12] (19,888,551 samples, 0.74%) + + + +[unknown] (15,765,125 samples, 0.59%) + + + +[libdbus-1.so.3.38.3] (9,529,738 samples, 0.35%) + + + +engine::end_frame (17,893,270 samples, 0.67%) + + + +[libc.so.6] (10,250,972 samples, 0.38%) + + + +[libvulkan_radeon.so] (20,165,936 samples, 0.75%) + + + +ioctl (6,288,764 samples, 0.23%) + + + +[libvulkan_radeon.so] (30,821,044 samples, 1.15%) + + + +[libvulkan_radeon.so] (111,443,735 samples, 4.15%) +[lib.. + + +[libvulkan_radeon.so] (8,072,467 samples, 0.30%) + + + +[libvulkan_radeon.so] (166,719,792 samples, 6.21%) +[libvulk.. + + +drmSyncobjWait (30,821,044 samples, 1.15%) + + + +drmSyncobjCreate (15,765,125 samples, 0.59%) + + + +[libvulkan_radeon.so] (7,415,148 samples, 0.28%) + + + +[libSDL3.so.0.4.12] (103,230,201 samples, 3.84%) +[lib.. + + +[libvulkan_radeon.so] (201,870,466 samples, 7.52%) +[libvulkan.. + + +[libffi.so.8.4.1] (4,867,811 samples, 0.18%) + + + +[libSDL3.so.0.4.12] (5,046,260 samples, 0.19%) + + + +[libSDL3.so.0.4.12] (6,889,542 samples, 0.26%) + + + +[libvulkan_radeon.so] (21,953,219 samples, 0.82%) + + + +[libvulkan_radeon.so] (95,460,934 samples, 3.56%) +[li.. + + +[libvulkan_radeon.so] (115,859,622 samples, 4.32%) +[libv.. + + +[libSDL3.so.0.4.12] (44,437,369 samples, 1.66%) + + + +[libc.so.6] (9,072,954 samples, 0.34%) + + + +[unknown] (8,073,129 samples, 0.30%) + + + +[libvulkan_radeon.so] (17,893,270 samples, 0.67%) + + + +[libvulkan_radeon.so] (7,417,669 samples, 0.28%) + + + +[libffi.so.8.4.1] (4,867,811 samples, 0.18%) + + + +drmSyncobjExportSyncFile (7,695,818 samples, 0.29%) + + + +wl_display_dispatch_queue_timeout (8,176,325 samples, 0.30%) + + + +[libSDL3.so.0.4.12] (61,422,735 samples, 2.29%) +[.. + + +runtime::bounds_check_error (52,923,702 samples, 1.97%) +r.. + + +wl_display_flush (12,996,014 samples, 0.48%) + + + +[libvulkan_radeon.so] (18,336,938 samples, 0.68%) + + + +[libvulkan_radeon.so] (18,934,680 samples, 0.71%) + + + +[libc.so.6] (8,099,944 samples, 0.30%) + + + +[libvulkan_radeon.so] (46,357,094 samples, 1.73%) + + + +pthread_mutex_lock (9,253,781 samples, 0.34%) + + + +runtime::append_elem:proc (66,188,790 samples, 2.47%) +ru.. + + +[libwayland-client.so.0.25.0] (19,551,372 samples, 0.73%) + + + +malloc (10,230,153 samples, 0.38%) + + + +[libvulkan_radeon.so] (36,285,312 samples, 1.35%) + + + +runtime::default_hasher (32,213,905 samples, 1.20%) + + + +[libdbus-1.so.3.38.3] (10,964,324 samples, 0.41%) + + + +main (20,165,936 samples, 0.75%) + + + +[libvulkan_radeon.so] (15,861,806 samples, 0.59%) + + + +[libvulkan_radeon.so] (90,093,398 samples, 3.36%) +[li.. + + +[libwayland-client.so.0.25.0] (46,080,315 samples, 1.72%) + + + +[libvulkan_radeon.so] (82,382,210 samples, 3.07%) +[li.. + + + diff --git a/flame/crowd-20260803-134209-report.txt b/flame/crowd-20260803-134209-report.txt new file mode 100644 index 0000000..f502020 --- /dev/null +++ b/flame/crowd-20260803-134209-report.txt @@ -0,0 +1,700 @@ +# To display the perf.data header info, please use --header/--header-only options. +# +# +# Total Lost Samples: 0 +# +# Samples: 469 of event 'cpu/cycles/Pu' +# Event count (approx.): 2304609671 +# +# Overhead Command Shared Object Symbol +# ........ ............... ............................. ...................................................................................................................................................................... +# + 12.22% crowd_perf crowd_perf [.] engine::draw_sprite + | + ---engine::draw_sprite + main::main + main + 0x7fe9b3c27740 + __libc_start_main + _start + + 5.51% crowd_perf crowd_perf [.] engine::to_clip + | + ---engine::to_clip + engine::draw_sprite + main::main + main + 0x7fe9b3c27740 + __libc_start_main + _start + + 4.04% crowd_perf libc.so.6 [.] pthread_mutex_lock + | + ---pthread_mutex_lock + | + |--0.81%--0x7fe9b424f559 + | 0x7fe9b42545c5 + | 0x7fe9b4069860 + | engine::begin_frame + | main::main + | main + | 0x7fe9b3c27740 + | __libc_start_main + | _start + | + |--0.79%--wl_display_prepare_read_queue + | wl_display_dispatch_queue_timeout + | 0x7fe9b228fead + | 0x7fe9b1d936f3 + | 0x7fe9b1d97300 + | 0x7fe9b1d8a4f8 + | 0x7fe9b424ffc9 + | engine::end_frame + | main::main + | main + | 0x7fe9b3c27740 + | __libc_start_main + | _start + | + |--0.76%--0x7fe9b3e94a51 + | 0x7fe9b4054fca + | 0x7fe9b4055bbd + | engine::events + | main::main + | main + | 0x7fe9b3c27740 + | __libc_start_main + | _start + | + |--0.76%--wl_display_cancel_read + | + --0.52%--0x7fe9b3eab81f + 0x7fe9b3e905f6 + dbus_connection_dispatch + 0x7fe9b4054fe2 + 0x7fe9b4055bbd + engine::events + main::main + main + 0x7fe9b3c27740 + __libc_start_main + _start + + 3.30% crowd_perf crowd_perf [.] engine::sprite_feet_quad + | + ---engine::sprite_feet_quad + engine::draw_sprite + main::main + main + 0x7fe9b3c27740 + __libc_start_main + _start + + 3.12% crowd_perf crowd_perf [.] main::main + | + ---main::main + main + 0x7fe9b3c27740 + __libc_start_main + _start + + 3.01% crowd_perf crowd_perf [.] engine::update_sprite + | + ---engine::update_sprite + main::main + main + 0x7fe9b3c27740 + __libc_start_main + _start + + 2.34% crowd_perf crowd_perf [.] engine::world_to_screen + | + ---engine::world_to_screen + engine::draw_sprite + main::main + main + 0x7fe9b3c27740 + __libc_start_main + _start + + 1.95% crowd_perf libvulkan_radeon.so [.] 0x00000000001f41d6 + | + ---0x7fe9b1df41d6 + | + --1.18%--0x7fe9b1df44e5 + 0x7fe9b1c27d3c + 0x7fe9b1c28070 + 0x7fe9b1c2d63c + | + --0.87%--0x7fe9b1cd16b8 + 0x7fe9b1cd2520 + 0x7fe9b1cd2d0a + 0x7fe9b1de6325 + 0x7fe9b42546f1 + 0x7fe9b4069860 + engine::begin_frame + main::main + main + 0x7fe9b3c27740 + __libc_start_main + _start + + 1.95% crowd_perf crowd_perf [.] runtime::default_hasher + | + ---runtime::default_hasher + runtime::default_hasher_string + __$hasher$$string + | + |--1.28%--engine::character_clip + | engine::update_sprite + | main::main + | main + | 0x7fe9b3c27740 + | __libc_start_main + | _start + | + --0.66%--engine::character_frame + engine::draw_sprite + main::main + main + 0x7fe9b3c27740 + __libc_start_main + _start + + 1.60% crowd_perf libc.so.6 [.] clock_gettime + | + ---clock_gettime + | + --0.83%--wl_display_dispatch_queue_timeout + 0x7fe9b228fead + 0x7fe9b1d936f3 + 0x7fe9b1d97300 + 0x7fe9b1d8a4f8 + 0x7fe9b424ffc9 + engine::end_frame + main::main + main + 0x7fe9b3c27740 + __libc_start_main + _start + + 1.50% crowd_perf crowd_perf [.] __$map_get$$map[string]engine::Clip_Def + | + ---__$map_get$$map[string]engine::Clip_Def + | + |--0.79%--engine::character_frame + | engine::draw_sprite + | main::main + | main + | 0x7fe9b3c27740 + | __libc_start_main + | _start + | + --0.71%--engine::character_clip + engine::update_sprite + main::main + main + 0x7fe9b3c27740 + __libc_start_main + _start + + 1.49% wl_cursor_surfa [unknown] [k] 0xffffffffab041cef + | + ---0xffffffffab041cef + 0xffffffffab355aba + 0xffffffffa9e0012f + + 1.41% crowd_perf crowd_perf [.] engine::character_frame + | + ---engine::character_frame + engine::draw_sprite + main::main + main + 0x7fe9b3c27740 + __libc_start_main + _start + + 1.28% crowd_perf [unknown] [k] 0xffffffffab355a81 + | + ---0xffffffffab355a81 + 0xffffffffa9e0012f + | + |--0.77%--ioctl + | drmIoctl + | + --0.51%--0x7fe9b3c9fff2 + 0x7fe9b3c9403b + 0x7fe9b3c94083 + __close + 0x7fe9b1d8cacd + 0x7fe9b1d893c8 + 0x7fe9b1d89241 + 0x7fe9b42544bd + 0x7fe9b4069860 + engine::begin_frame + main::main + main + 0x7fe9b3c27740 + __libc_start_main + _start + + 1.26% wl_cursor_surfa libwayland-client.so.0.25.0 [.] wl_display_read_events + 1.25% crowd_perf libwayland-client.so.0.25.0 [.] wl_proxy_marshal_array_flags + | + ---wl_proxy_marshal_array_flags + wl_proxy_marshal_flags + | + --0.83%--0x7fe9b1d97614 + 0x7fe9b1d8a4f8 + 0x7fe9b424ffc9 + engine::end_frame + main::main + main + 0x7fe9b3c27740 + __libc_start_main + _start + + 1.22% crowd_perf crowd_perf [.] runtime::string_eq + | + ---runtime::string_eq + __$map_get$$map[string]engine::Clip_Def + | + |--0.72%--engine::character_clip + | engine::update_sprite + | main::main + | main + | 0x7fe9b3c27740 + | __libc_start_main + | _start + | + --0.50%--engine::character_frame + engine::draw_sprite + main::main + main + 0x7fe9b3c27740 + __libc_start_main + _start + + 1.22% crowd_perf libvulkan_radeon.so [.] 0x00000000000ce007 + | + ---0x7fe9b1cce007 + 0x7fe9b1dcae1a + 0x7fe9b424437c + 0x7fe9b406920d + engine::end_frame + main::main + + 1.17% crowd_perf crowd_perf [.] runtime::memory_equal + | + ---runtime::memory_equal + runtime::string_eq + __$map_get$$map[string]engine::Clip_Def + | + --0.72%--engine::character_frame + engine::draw_sprite + main::main + main + 0x7fe9b3c27740 + __libc_start_main + _start + + 1.05% crowd_perf crowd_perf [.] engine::character_clip + | + ---engine::character_clip + engine::update_sprite + main::main + main + 0x7fe9b3c27740 + __libc_start_main + _start + + 0.99% crowd_perf crowd_perf [.] runtime::bounds_check_error + | + ---runtime::bounds_check_error + | + --0.54%--engine::texture_run_len + engine::end_frame + main::main + main + 0x7fe9b3c27740 + __libc_start_main + _start + + 0.95% crowd_perf libc.so.6 [.] 0x000000000018a4c4 + | + ---0x7fe9b3d8a4c4 + | + --0.52%--engine::draw_sprite + main::main + main + 0x7fe9b3c27740 + __libc_start_main + _start + + 0.94% crowd_perf crowd_perf [.] engine::texture_run_len + | + ---engine::texture_run_len + engine::end_frame + main::main + main + 0x7fe9b3c27740 + __libc_start_main + _start + + 0.93% crowd_perf libSDL3.so.0.4.12 [.] 0x00000000001428e7 + | + ---0x7fe9b41428e7 + + 0.85% crowd_perf libc.so.6 [.] 0x00000000000a44b7 + | + ---0x7fe9b3ca44b7 + 0x7fe9b3ca6ed2 + + 0.85% crowd_perf libc.so.6 [.] 0x000000000009ca5c + | + ---0x7fe9b3c9ca5c + + 0.84% crowd_perf libzstd.so.1.5.7 [.] 0x0000000000092a16 + | + ---0x7fe9b0567a16 + ZSTD_decompressSequences (inlined) + ZSTD_decompressBlock_internal + ZSTD_decompressBlock_internal + 0x7fe9b0562e85 + ZSTD_decompress_usingDDict + ZSTD_decompress + 0x7fe9b1f5f8cf + 0x7fe9b1f380f5 + 0x7fe9b1f3978d + 0x7fe9b1f37a86 + 0x7fe9b1e05d1b + 0x7fe9b1d28dcd + 0x7fe9b1e0583a + 0x7fe9b1e05d49 + 0x7fe9b1d28abb + 0x7fe9b1d292b4 + 0x7fe9b1d2ab09 + + 0.83% crowd_perf libSDL3.so.0.4.12 [.] 0x0000000000143ffe + | + ---0x7fe9b4143ffe + 0x7fe9b414a028 + 0x7fe9b4141b9a + + 0.83% crowd_perf libwayland-client.so.0.25.0 [.] 0x0000000000003263 + | + ---0x7fe9b433a263 + wl_proxy_marshal_flags + 0x7fe9b1d97937 + 0x7fe9b1d8a4f8 + 0x7fe9b424ffc9 + engine::end_frame + main::main + main + 0x7fe9b3c27740 + __libc_start_main + _start + + 0.83% crowd_perf libvulkan_radeon.so [.] 0x000000000033b851 + | + ---0x7fe9b1f3b851 + 0x7fe9b1df41ce + 0x7fe9b1df44e5 + 0x7fe9b1c27d3c + 0x7fe9b1c28070 + 0x7fe9b1c2d63c + + 0.83% crowd_perf libSDL3.so.0.4.12 [.] 0x000000000014400b + | + ---0x7fe9b414400b + 0x7fe9b414a028 + 0x7fe9b4141b9a + + 0.82% crowd_perf crowd_perf [.] engine::frame_uvs + | + ---engine::frame_uvs + engine::draw_sprite + main::main + main + 0x7fe9b3c27740 + __libc_start_main + _start + + 0.82% crowd_perf libSDL3.so.0.4.12 [.] 0x0000000000144008 + | + ---0x7fe9b4144008 + 0x7fe9b414a028 + 0x7fe9b4141b9a + + 0.81% crowd_perf libvulkan_radeon.so [.] 0x00000000000d2c2b + | + ---0x7fe9b1cd2c2b + 0x7fe9b1de6325 + 0x7fe9b42546f1 + 0x7fe9b4069860 + engine::begin_frame + main::main + main + 0x7fe9b3c27740 + __libc_start_main + _start + + 0.79% crowd_perf libc.so.6 [.] pthread_rwlock_rdlock + | + ---pthread_rwlock_rdlock + + 0.78% crowd_perf libSDL3.so.0.4.12 [.] 0x00000000001428a1 + | + ---0x7fe9b41428a1 + 0x7fe9b414921a + 0x7fe9b4141b9a + 0x7fe9b41426da + + 0.76% wl_cursor_surfa libc.so.6 [.] 0x00000000000a66e2 + 0.69% crowd_perf libc.so.6 [.] 0x000000000018a547 + | + ---0x7fe9b3d8a547 + 0x7fe9b1cd1554 + 0x7fe9b1de165e + 0x7fe9b1ddee47 + 0x7fe9b1de35f1 + 0x7fe9b1de157e + 0x7fe9b423be46 + 0x7fe9b4068a74 + engine::end_frame + main::main + main + 0x7fe9b3c27740 + __libc_start_main + _start + + 0.67% crowd_perf libSDL3.so.0.4.12 [.] 0x000000000014288a + | + ---0x7fe9b414288a + 0x7fe9b41429b4 + 0x7fe9b414921a + 0x7fe9b4141b9a + 0x7fe9b41426da + + 0.61% crowd_perf libvulkan_radeon.so [.] 0x0000000000180ab2 + | + ---0x7fe9b1d80ab2 + + 0.58% crowd_perf libvulkan_radeon.so [.] 0x0000000000114c26 + | + ---0x7fe9b1d14c26 + 0x7fe9b1d15976 + 0x7fe9b1d162ff + 0x7fe9b1d1692c + 0x7fe9b1c2bd93 + 0x7fe9b1c2da03 + 0x7fe9b1c2e4ca + 0x7fe9b1c2f277 + 0x7fe9b1de052c + 0x7fe9b1de1521 + 0x7fe9b4247581 + 0x7fe9b4064bab + engine::end_frame + main::main + + 0.52% crowd_perf libvulkan_radeon.so [.] 0x0000000000022daa + | + ---0x7fe9b1c22daa + 0x7fe9b1cd2f6f + 0x7fe9b1de6325 + 0x7fe9b423bc48 + 0x7fe9b423beb3 + 0x7fe9b4068a74 + engine::end_frame + main::main + main + 0x7fe9b3c27740 + __libc_start_main + _start + + 0.51% wl_cursor_surfa libc.so.6 [.] 0x00000000000a6747 + 0.49% crowd_perf libc.so.6 [.] 0x00000000001904ba + 0.48% crowd_perf libc.so.6 [.] 0x000000000018a52e + 0.48% crowd_perf libvulkan_radeon.so [.] 0x00000000000d17cc + 0.47% crowd_perf libvulkan_radeon.so [.] 0x00000000001f3c6b + 0.47% crowd_perf [vdso] [.] __vdso_clock_gettime + 0.47% crowd_perf libvulkan_radeon.so [.] 0x00000000001d6365 + 0.46% crowd_perf libc.so.6 [.] 0x000000000018a486 + 0.46% crowd_perf libvulkan_radeon.so [.] 0x00000000001e4c30 + 0.46% crowd_perf libvulkan_radeon.so [.] 0x00000000001f3ff4 + 0.45% crowd_perf libdbus-1.so.3.38.3 [.] dbus_connection_get_dispatch_status + 0.45% crowd_perf libc.so.6 [.] 0x0000000000093fe4 + 0.44% crowd_perf libvulkan_radeon.so [.] 0x000000000017e9d4 + 0.44% crowd_perf libvulkan_radeon.so [.] 0x0000000000114197 + 0.43% crowd_perf libnvidia-glcore.so.610.43.03 [.] 0x0000000000fcd46c + 0.43% crowd_perf libvulkan_radeon.so [.] 0x00000000000ce927 + 0.43% crowd_perf crowd_perf [.] runtime::map_seed_from_map_data + 0.43% crowd_perf libvulkan_radeon.so [.] 0x000000000033cb4a + 0.42% crowd_perf libc.so.6 [.] 0x0000000000189c4b + 0.42% crowd_perf libSDL3.so.0.4.12 [.] 0x0000000000018567 + 0.42% crowd_perf libc.so.6 [.] 0x0000000000189cca + 0.41% crowd_perf libvulkan_radeon.so [.] 0x00000000001de7c1 + 0.41% crowd_perf libc.so.6 [.] 0x000000000009ca21 + 0.41% crowd_perf libSDL3.so.0.4.12 [.] 0x00000000000176c6 + 0.41% crowd_perf crowd_perf [.] __$hasher$$string + 0.41% crowd_perf libxkbcommon.so.0.13.2 [.] 0x0000000000005fe7 + 0.40% crowd_perf libvulkan_radeon.so [.] 0x00000000000d2c23 + 0.40% crowd_perf libSDL3.so.0.4.12 [.] 0x00000000000185a0 + 0.40% crowd_perf libSDL3.so.0.4.12 [.] 0x000000000024f5ea + 0.40% crowd_perf libvulkan_radeon.so [.] 0x00000000000e662b + 0.40% crowd_perf libwayland-client.so.0.25.0 [.] 0x0000000000005555 + 0.40% crowd_perf libSDL3.so.0.4.12 [.] 0x00000000000541ae + 0.40% crowd_perf libvulkan_radeon.so [.] 0x00000000000e6624 + 0.40% crowd_perf libvulkan_radeon.so [.] 0x000000000033e954 + 0.40% crowd_perf libvulkan_radeon.so [.] 0x00000000001ded02 + 0.40% crowd_perf [unknown] [k] 0xffffffffa9e000ab + 0.39% crowd_perf libSDL3.so.0.4.12 [.] 0x0000000000054314 + 0.39% crowd_perf libvulkan_radeon.so [.] 0x00000000001f34c7 + 0.39% crowd_perf libSDL3.so.0.4.12 [.] 0x0000000000064bba + 0.39% crowd_perf libvulkan_radeon.so [.] 0x00000000000ebaa4 + 0.39% crowd_perf libvulkan_radeon.so [.] 0x00000000000b8cb1 + 0.38% crowd_perf libc.so.6 [.] pthread_rwlock_wrlock + 0.38% wl_cursor_surfa libSDL3.so.0.4.12 [.] 0x00000000001e3f76 + 0.38% crowd_perf libwayland-client.so.0.25.0 [.] 0x000000000000326a + 0.38% crowd_perf libSDL3.so.0.4.12 [.] 0x0000000000064a44 + 0.37% crowd_perf libvulkan_radeon.so [.] 0x00000000000cf7ea + 0.37% crowd_perf libvulkan_radeon.so [.] 0x00000000000c4a65 + 0.37% crowd_perf libSDL3.so.0.4.12 [.] 0x00000000002501f2 + 0.37% crowd_perf libSDL3.so.0.4.12 [.] 0x000000000024e78a + 0.37% crowd_perf libvulkan_radeon.so [.] 0x000000000035f600 + 0.37% crowd_perf libvulkan_radeon.so [.] 0x00000000001f41b7 + 0.37% crowd_perf libvulkan_radeon.so [.] 0x00000000000bdd41 + 0.37% crowd_perf libvulkan_radeon.so [.] 0x000000000013c80b + 0.37% crowd_perf libvulkan_radeon.so [.] 0x00000000001e61b8 + 0.37% crowd_perf libSDL3.so.0.4.12 [.] 0x000000000023bc49 + 0.37% crowd_perf libc.so.6 [.] 0x0000000000189cc4 + 0.36% crowd_perf libSDL3.so.0.4.12 [.] 0x0000000000247677 + 0.36% wl_cursor_surfa libc.so.6 [.] pthread_mutex_lock + 0.36% crowd_perf libdbus-1.so.3.38.3 [.] 0x000000000003186f + 0.36% crowd_perf libvulkan_radeon.so [.] 0x00000000000d19ec + 0.36% crowd_perf libvulkan_radeon.so [.] 0x000000000017ff7a + 0.36% crowd_perf libSDL3.so.0.4.12 [.] 0x0000000000053d7e + 0.36% crowd_perf libc.so.6 [.] 0x000000000018a4ca + 0.36% crowd_perf libSDL3.so.0.4.12 [.] 0x0000000000246f63 + 0.36% crowd_perf libvulkan_radeon.so [.] 0x00000000001e6473 + 0.35% crowd_perf libvulkan_radeon.so [.] 0x00000000000d6725 + 0.34% crowd_perf libc.so.6 [.] pthread_mutex_unlock + 0.32% crowd_perf libSDL3.so.0.4.12 [.] 0x000000000024fc98 + 0.32% crowd_perf libvulkan_radeon.so [.] 0x00000000000cf078 + 0.32% crowd_perf libwayland-client.so.0.25.0 [.] 0x0000000000004dc1 + 0.31% wl_cursor_surfa libc.so.6 [.] 0x0000000000094047 + 0.31% crowd_perf crowd_perf [.] runtime::_append_elem + 0.29% crowd_perf libvulkan_radeon.so [.] 0x0000000000022d80 + 0.28% crowd_perf libSDL3.so.0.4.12 [.] 0x000000000023b5cb + 0.24% 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.23% wl_cursor_surfa libwayland-client.so.0.25.0 [.] wl_list_insert + 0.23% crowd_perf libc.so.6 [.] 0x00000000000a718d + 0.19% crowd_perf libvulkan_radeon.so [.] 0x000000000033b80b + 0.17% crowd_perf ld-linux-x86-64.so.2 [.] 0x000000000000ffcb + 0.16% crowd_perf libc.so.6 [.] 0x0000000000189c40 + 0.09% crowd_perf libvulkan_radeon.so [.] 0x0000000000335bdd + 0.02% crowd_perf libc.so.6 [.] 0x00000000000a4451 + 0.02% wl_cursor_surfa [unknown] [k] 0xffffffffa9e000ad + 0.02% wl_cursor_surfa libc.so.6 [.] 0x00000000000a6ea4 + 0.00% crowd_perf libvulkan_radeon.so [.] 0x00000000000e5f87 + 0.00% crowd_perf libGLX_nvidia.so.610.43.03 [.] 0x00000000000ab456 + 0.00% crowd_perf libc.so.6 [.] 0x00000000000a6968 + 0.00% crowd_perf libvulkan_radeon.so [.] 0x00000000001e4d25 + 0.00% crowd_perf libc.so.6 [.] 0x000000000018325e + 0.00% crowd_perf ld-linux-x86-64.so.2 [.] 0x00000000000144d1 + 0.00% crowd_perf libvulkan_radeon.so [.] 0x000000000018d5e9 + 0.00% wl_cursor_surfa libwayland-client.so.0.25.0 [.] wl_display_dispatch_queue_pending + 0.00% wl_cursor_surfa libc.so.6 [.] 0x00000000000a44b7 + 0.00% crowd_perf libvulkan_radeon.so [.] 0x0000000000344db9 + 0.00% wl_cursor_surfa libc.so.6 [.] 0x00000000000a74c7 + 0.00% crowd_perf libc.so.6 [.] 0x0000000000185195 + 0.00% wl_cursor_surfa [unknown] [k] 0xffffffffab041d04 + 0.00% wl_cursor_surfa libffi.so.8.4.1 [.] 0x0000000000002807 + 0.00% crowd_perf libdrm.so.2.134.0 [.] drmSyncobjTimelineWait + 0.00% crowd_perf libexpat.so.1.12.2 [.] 0x0000000000002ea9 + 0.00% crowd_perf libvulkan_radeon.so [.] 0x0000000000344c64 + 0.00% crowd_perf libc.so.6 [.] 0x00000000000a5735 + 0.00% crowd_perf libdbus-1.so.3.38.3 [.] _dbus_string_equal_c_str + 0.00% wl_cursor_surfa libwayland-client.so.0.25.0 [.] wl_display_get_fd + 0.00% crowd_perf libvulkan_radeon.so [.] 0x00000000001f2fa5 + 0.00% crowd_p:disk$0 libc.so.6 [.] 0x00000000000a590f + 0.00% wl_cursor_surfa libc.so.6 [.] 0x00000000000a6732 + 0.00% crowd_perf ld-linux-x86-64.so.2 [.] 0x000000000002647b + 0.00% crowd_perf libc.so.6 [.] realloc + 0.00% crowd_perf libc.so.6 [.] 0x00000000000534a3 + 0.00% crowd_perf libc.so.6 [.] 0x00000000000649f8 + 0.00% crowd_perf libvulkan_radeon.so [.] 0x00000000001e4d24 + 0.00% crowd_perf libvulkan_radeon.so [.] 0x0000000000344ccb + 0.00% wl_cursor_surfa libc.so.6 [.] 0x00000000000a66c4 + 0.00% wl_cursor_surfa libc.so.6 [.] 0x0000000000189cf7 + 0.00% crowd_perf libvulkan_radeon.so [.] 0x0000000000345b18 + 0.00% crowd_perf libc.so.6 [.] strchrnul@plt + 0.00% crowd_perf libc.so.6 [.] 0x000000000008b802 + 0.00% crowd_perf [unknown] [k] 0xffffffffab355a39 + 0.00% crowd_perf [unknown] [k] 0xffffffffab355a10 + 0.00% wl_cursor_surfa libc.so.6 [.] ppoll + 0.00% crowd_perf libvulkan_radeon.so [.] 0x0000000000345ad6 + 0.00% crowd_perf libvulkan_radeon.so [.] 0x0000000000345adb + 0.00% crowd_perf libvulkan_radeon.so [.] 0x0000000000345ce7 + 0.00% crowd_perf ld-linux-x86-64.so.2 [.] 0x0000000000014464 + 0.00% wl_cursor_surfa libc.so.6 [.] recvmsg + 0.00% crowd_perf libxcb.so.1.1.0 [.] 0x000000000000caad + 0.00% crowd_perf libc.so.6 [.] __ctype_init + 0.00% crowd_perf libc.so.6 [.] 0x00000000000a713d + 0.00% crowd_perf [unknown] [k] 0xffffffffa9e01690 + 0.00% wl_cursor_surfa libSDL3.so.0.4.12 [.] 0x00000000001cd7b1 + 0.00% crowd_perf libc.so.6 [.] 0x0000000000097417 + 0.00% crowd_perf libc.so.6 [.] 0x0000000000103a63 + 0.00% crowd_perf libvulkan_radeon.so [.] 0x00000000001dd5e5 + 0.00% crowd_perf libdrm.so.2.134.0 [.] drmSyncobjWait + 0.00% crowd_perf libexpat.so.1.12.2 [.] 0x000000000000b5db + 0.00% crowd_perf libc.so.6 [.] __errno_location + 0.00% crowd_p:disk$0 libc.so.6 [.] 0x000000000009404d + 0.00% crowd_perf ld-linux-x86-64.so.2 [.] 0x000000000001fce9 + 0.00% crowd_perf libvulkan_radeon.so [.] 0x0000000000344ddd + 0.00% crowd_perf libvulkan_radeon.so [.] 0x0000000000345bb3 + 0.00% crowd_perf [unknown] [k] 0xffffffffa9e01280 + 0.00% crowd_perf libvulkan_radeon.so [.] 0x0000000000344cd4 + 0.00% wl_cursor_surfa libc.so.6 [.] 0x0000000000094085 + 0.00% crowd_perf libc.so.6 [.] 0x000000000011bed0 + 0.00% crowd_perf libvulkan_radeon.so [.] 0x0000000000344ddb + 0.00% wl_cursor_surfa libc.so.6 [.] 0x0000000000094040 + 0.00% crowd_perf libdrm.so.2.134.0 [.] drmIoctl + 0.00% crowd_perf crowd_perf [.] runtime::multi_pointer_slice_expr_error + 0.00% crowd_perf libc.so.6 [.] ioctl + 0.00% crowd_perf libc.so.6 [.] 0x00000000000973a0 + 0.00% crowd_perf libc.so.6 [.] 0x0000000000103a40 + 0.00% crowd_perf [unknown] [k] 0xffffffffa9e01670 + 0.00% wl_cursor_surfa libc.so.6 [.] 0x0000000000094050 + 0.00% wl_cursor_surfa libc.so.6 [.] 0x0000000000094084 + 0.00% crowd_p:disk$0 libc.so.6 [.] 0x0000000000094047 + 0.00% crowd_p:disk$0 libc.so.6 [.] 0x0000000000094048 + 0.00% crowd_p:disk$0 libc.so.6 [.] 0x0000000000094049 + 0.00% crowd_perf crowd_perf [.] main + 0.00% crowd_perf crowd_perf [.] memset@plt + 0.00% crowd_perf ld-linux-x86-64.so.2 [.] 0x000000000001f103 + 0.00% crowd_perf libc.so.6 [.] __poll + 0.00% crowd_perf libc.so.6 [.] malloc + 0.00% crowd_perf libc.so.6 [.] 0x0000000000094047 + 0.00% crowd_perf libc.so.6 [.] 0x000000000009741b + 0.00% crowd_perf libc.so.6 [.] 0x00000000000a710f + 0.00% crowd_perf libdbus-1.so.3.38.3 [.] 0x0000000000032197 + 0.00% crowd_perf libexpat.so.1.12.2 [.] 0x0000000000021792 + 0.00% crowd_perf libexpat.so.1.12.2 [.] 0x000000000002179b + 0.00% crowd_perf libexpat.so.1.12.2 [.] 0x00000000000217aa + 0.00% crowd_perf libvulkan_radeon.so [.] 0x00000000001dd564 + 0.00% crowd_perf libvulkan_radeon.so [.] 0x00000000001dd592 + 0.00% crowd_perf libvulkan_radeon.so [.] 0x00000000001dd61c + 0.00% crowd_perf libvulkan_radeon.so [.] 0x00000000003458a3 + 0.00% crowd_perf libxcb.so.1.1.0 [.] 0x000000000000c8db + 0.00% crowd_perf libxcb.so.1.1.0 [.] 0x000000000000ce6f + 0.00% crowd_perf [unknown] [k] 0xffffffffa9e015f0 + 0.00% wl_cursor_surfa libSDL3.so.0.4.12 [.] 0x00000000001e3f74 + 0.00% wl_cursor_surfa libc.so.6 [.] 0x0000000000094048 + 0.00% wl_cursor_surfa libc.so.6 [.] 0x0000000000094049 + 0.00% wl_cursor_surfa libc.so.6 [.] 0x0000000000094097 + + +# +# (Tip: To show IPC for sampling periods use perf record -e '{cycles,instructions}:S' and then browse context) +# diff --git a/flame/crowd-20260803-134209.jpg b/flame/crowd-20260803-134209.jpg new file mode 100644 index 0000000..4e70bd1 Binary files /dev/null and b/flame/crowd-20260803-134209.jpg differ diff --git a/flame/crowd-20260803-134209.svg b/flame/crowd-20260803-134209.svg new file mode 100644 index 0000000..805ea43 --- /dev/null +++ b/flame/crowd-20260803-134209.svg @@ -0,0 +1,1422 @@ + + + + + + + + + + + + + + +Flame Graph + +Reset Zoom +Search +ic + + + +runtime::map_seed_from_map_data (9,808,533 samples, 0.43%) + + + +[libvulkan_radeon.so] (8,945,344 samples, 0.39%) + + + + (12,615,968 samples, 0.55%) + + + +[unknown] (34,420,931 samples, 1.49%) + + + +[libdbus-1.so.3.38.3] (8,322,227 samples, 0.36%) + + + +[libc.so.6] (5,362,571 samples, 0.23%) + + + +engine::world_to_screen (53,829,542 samples, 2.34%) +e.. + + +[libdbus-1.so.3.38.3] (12,070,161 samples, 0.52%) + + + +ZSTD_decompressBlock_internal (19,472,565 samples, 0.84%) + + + +runtime::string_eq (28,097,449 samples, 1.22%) + + + +ZSTD_decompressBlock_internal (19,472,565 samples, 0.84%) + + + +drmIoctl (8,837,727 samples, 0.38%) + + + +[libSDL3.so.0.4.12] (248,472,422 samples, 10.78%) +[libSDL3.so.0.4.. + + +drmIoctl (8,908,105 samples, 0.39%) + + + +[libc.so.6] (22,142,026 samples, 0.96%) + + + +_dl_catch_exception (13,749,101 samples, 0.60%) + + + +[libvulkan_radeon.so] (7,083,687 samples, 0.31%) + + + +[libSDL3.so.0.4.12] (101,218,065 samples, 4.39%) +[libS.. + + +__libc_start_main (1,863,105,327 samples, 80.84%) +__libc_start_main + + +runtime::default_hasher_string (15,283,482 samples, 0.66%) + + + +[libffi.so.8.4.1] (9,419,443 samples, 0.41%) + + + +[libvulkan_radeon.so] (23,176,075 samples, 1.01%) + + + +[libvulkan_radeon.so] (24,896,667 samples, 1.08%) + + + +__vdso_clock_gettime (10,798,003 samples, 0.47%) + + + +[libdbus-1.so.3.38.3] (36,219,571 samples, 1.57%) + + + +[libvulkan_radeon.so] (16,323,788 samples, 0.71%) + + + +[libvulkan_radeon.so] (17,801,997 samples, 0.77%) + + + +[libvulkan_radeon.so] (32,952,716 samples, 1.43%) + + + +[ld-linux-x86-64.so.2] (13,749,101 samples, 0.60%) + + + +[libvulkan_radeon.so] (16,323,788 samples, 0.71%) + + + +[libGLX_nvidia.so.610.43.03] (11,186,482 samples, 0.49%) + + + +[libc.so.6] (11,166,508 samples, 0.48%) + + + +[libwayland-client.so.0.25.0] (19,548,059 samples, 0.85%) + + + +clock_gettime (19,166,825 samples, 0.83%) + + + +[libSDL3.so.0.4.12] (16,323,788 samples, 0.71%) + + + +[libvulkan_radeon.so] (16,323,788 samples, 0.71%) + + + +[libc.so.6] (529,290 samples, 0.02%) + + + +[libSDL3.so.0.4.12] (37,377,516 samples, 1.62%) + + + +engine::sprite_feet_quad (76,023,642 samples, 3.30%) +eng.. + + +[libvulkan_radeon.so] (19,922,411 samples, 0.86%) + + + +[libSDL3.so.0.4.12] (15,401,952 samples, 0.67%) + + + +[libc.so.6] (1,863,105,327 samples, 80.84%) +[libc.so.6] + + +runtime::default_hasher (15,283,482 samples, 0.66%) + + + +[unknown] (34,420,931 samples, 1.49%) + + + +[ld-linux-x86-64.so.2] (13,749,101 samples, 0.60%) + + + +engine::texture_run_len (33,938,731 samples, 1.47%) + + + +[libvulkan.so.1.4.350] (24,935,583 samples, 1.08%) + + + +[libvulkan_radeon.so] (15,948,532 samples, 0.69%) + + + +[libvulkan_radeon.so] (73,168,487 samples, 3.17%) +[li.. + + +engine::end_frame (566,496,889 samples, 24.58%) +engine::end_frame + + +[libvulkan.so.1.4.350] (24,935,583 samples, 1.08%) + + + +[libc.so.6] (10,043,080 samples, 0.44%) + + + +engine::events (85,667,248 samples, 3.72%) +engi.. + + +[libc.so.6] (20,182,358 samples, 0.88%) + + + +[libxkbcommon.so.0.13.2] (9,419,443 samples, 0.41%) + + + +[unknown] (8,837,727 samples, 0.38%) + + + +[libvulkan_radeon.so] (256,944,786 samples, 11.15%) +[libvulkan_radeo.. + + +wl_display_dispatch_queue_pending (17,093,349 samples, 0.74%) + + + +[unknown] (8,908,105 samples, 0.39%) + + + +[ld-linux-x86-64.so.2] (3,803,258 samples, 0.17%) + + + +[libSDL3.so.0.4.12] (85,667,248 samples, 3.72%) +[lib.. + + +[libSDL3.so.0.4.12] (36,750,053 samples, 1.59%) + + + +ioctl (8,837,727 samples, 0.38%) + + + +__$map_get$$map[string]engine::Clip_Def (43,386,648 samples, 1.88%) +_.. + + +wl_proxy_marshal_flags (87,140,950 samples, 3.78%) +wl_p.. + + +wl_display_prepare_read_queue (18,247,640 samples, 0.79%) + + + +[libvulkan_radeon.so] (10,497,692 samples, 0.46%) + + + +vk_icdNegotiateLoaderICDInterfaceVersion (11,186,482 samples, 0.49%) + + + +drmSyncobjTimelineWait (8,837,727 samples, 0.38%) + + + +ZSTD_decompressSequences (19,472,565 samples, 0.84%) + + + +[libvulkan_radeon.so] (19,472,565 samples, 0.84%) + + + +_start (1,863,105,327 samples, 80.84%) +_start + + +wl_cursor_surfa (123,769,661 samples, 5.37%) +wl_cur.. + + +[libvulkan_radeon.so] (16,323,788 samples, 0.71%) + + + +runtime::string_eq (27,030,449 samples, 1.17%) + + + +[libdbus-1.so.3.38.3] (12,070,161 samples, 0.52%) + + + +pthread_rwlock_rdlock (10,022,896 samples, 0.43%) + + + +[libvulkan_radeon.so] (33,390,206 samples, 1.45%) + + + +[libdbus-1.so.3.38.3] (8,322,227 samples, 0.36%) + + + +pthread_mutex_lock (27,921,910 samples, 1.21%) + + + +wl_display_dispatch_queue_timeout (43,987,036 samples, 1.91%) +w.. + + +[libvulkan_radeon.so] (14,071,005 samples, 0.61%) + + + +[libvulkan_radeon.so] (16,323,788 samples, 0.71%) + + + +[unknown] (8,837,727 samples, 0.38%) + + + +engine::to_clip (126,952,057 samples, 5.51%) +engine:.. + + +[libvulkan_radeon.so] (19,534,096 samples, 0.85%) + + + +[libSDL3.so.0.4.12] (248,472,422 samples, 10.78%) +[libSDL3.so.0.4.. + + +__close (22,142,026 samples, 0.96%) + + + +[libSDL3.so.0.4.12] (121,561,671 samples, 5.27%) +[libSD.. + + +[libwayland-client.so.0.25.0] (9,419,443 samples, 0.41%) + + + +engine::end_frame (101,218,065 samples, 4.39%) +engin.. + + +[libxkbcommon.so.0.13.2] (9,419,443 samples, 0.41%) + + + +crowd_perf (2,180,827,058 samples, 94.63%) +crowd_perf + + +wl_display_cancel_read (10,863,380 samples, 0.47%) + + + +wl_proxy_marshal_array_flags (59,213,870 samples, 2.57%) +wl.. + + +[libwayland-client.so.0.25.0] (9,227,117 samples, 0.40%) + + + +[libvulkan_radeon.so] (2,008,651 samples, 0.09%) + + + +[libvulkan_radeon.so] (152,668,587 samples, 6.62%) +[libvulka.. + + +[libnvidia-glcore.so.610.43.03] (9,945,843 samples, 0.43%) + + + +wl_display_cancel_read (6,572,571 samples, 0.29%) + + + +engine::character_clip (126,505,162 samples, 5.49%) +engine:.. + + +[libvulkan_radeon.so] (267,487,926 samples, 11.61%) +[libvulkan_radeon.. + + +[ld-linux-x86-64.so.2] (3,803,258 samples, 0.17%) + + + +[libvulkan_radeon.so] (2,008,651 samples, 0.09%) + + + +[libzstd.so.1.5.7] (19,472,565 samples, 0.84%) + + + +[libvulkan_radeon.so] (39,593,833 samples, 1.72%) + + + +[ld-linux-x86-64.so.2] (13,749,101 samples, 0.60%) + + + +[libSDL3.so.0.4.12] (18,253,598 samples, 0.79%) + + + +[libc.so.6] (10,543,140 samples, 0.46%) + + + +[libGLX_nvidia.so.610.43.03] (9,945,843 samples, 0.43%) + + + +[libSDL3.so.0.4.12] (15,948,532 samples, 0.69%) + + + +ZSTD_decompress (19,472,565 samples, 0.84%) + + + +[libwayland-client.so.0.25.0] (9,419,443 samples, 0.41%) + + + +[libvulkan_radeon.so] (124,446,724 samples, 5.40%) +[libvu.. + + +runtime::default_hasher_string (29,573,324 samples, 1.28%) + + + +[libvulkan_radeon.so] (166,540,699 samples, 7.23%) +[libvulkan.. + + +[libc.so.6] (9,678,980 samples, 0.42%) + + + +[libSDL3.so.0.4.12] (54,895,138 samples, 2.38%) +[.. + + +[libSDL3.so.0.4.12] (112,142,228 samples, 4.87%) +[libSD.. + + +clock_gettime (9,278,804 samples, 0.40%) + + + +drmSyncobjReset (8,908,105 samples, 0.39%) + + + +[libvulkan_radeon.so] (16,323,788 samples, 0.71%) + + + +engine::character_frame (104,566,099 samples, 4.54%) +engin.. + + +[libvulkan_radeon.so] (19,472,565 samples, 0.84%) + + + +__$hasher$$string (38,999,318 samples, 1.69%) + + + +[libvulkan_radeon.so] (19,472,565 samples, 0.84%) + + + +[libc.so.6] (12,154,689 samples, 0.53%) + + + +engine::frame_uvs (19,004,694 samples, 0.82%) + + + +[unknown] (8,908,105 samples, 0.39%) + + + +pthread_mutex_lock (12,070,161 samples, 0.52%) + + + +[libwayland-client.so.0.25.0] (27,927,080 samples, 1.21%) + + + +[libvulkan_radeon.so] (101,218,065 samples, 4.39%) +[libv.. + + +ioctl (8,908,105 samples, 0.39%) + + + +[libvulkan_radeon.so] (16,323,788 samples, 0.71%) + + + +[libc.so.6] (11,820,981 samples, 0.51%) + + + +[libvulkan_radeon.so] (46,049,761 samples, 2.00%) +[.. + + +[libvulkan_radeon.so] (9,753,331 samples, 0.42%) + + + +[libSDL3.so.0.4.12] (9,446,267 samples, 0.41%) + + + +[libvulkan_radeon.so] (23,176,075 samples, 1.01%) + + + +pthread_mutex_lock (6,572,571 samples, 0.29%) + + + +[libvulkan_radeon.so] (129,228,725 samples, 5.61%) +[libvul.. + + +_dl_catch_exception (13,749,101 samples, 0.60%) + + + +[libc.so.6] (13,749,101 samples, 0.60%) + + + +pthread_mutex_lock (17,494,568 samples, 0.76%) + + + +runtime::_append_elem (7,061,318 samples, 0.31%) + + + +[libvulkan_radeon.so] (23,176,075 samples, 1.01%) + + + +[libvulkan_radeon.so] (96,896,382 samples, 4.20%) +[libv.. + + +[libc.so.6] (19,549,046 samples, 0.85%) + + + +[libSDL3.so.0.4.12] (101,218,065 samples, 4.39%) +[libS.. + + +[unknown] (11,820,981 samples, 0.51%) + + + +[libGLX_nvidia.so.610.43.03] (9,945,843 samples, 0.43%) + + + +[libc.so.6] (10,923,553 samples, 0.47%) + + + +[libvulkan_radeon.so] (17,437,186 samples, 0.76%) + + + +[libc.so.6] (529,290 samples, 0.02%) + + + +[libSDL3.so.0.4.12] (121,561,671 samples, 5.27%) +[libSD.. + + +[libvulkan_radeon.so] (37,715,331 samples, 1.64%) + + + +wl_display_dispatch_queue_pending (9,419,443 samples, 0.41%) + + + +[libvulkan_radeon.so] (63,861,067 samples, 2.77%) +[l.. + + +[libxkbcommon.so.0.13.2] (9,419,443 samples, 0.41%) + + + +__$map_get$$map[string]engine::Clip_Def (46,343,544 samples, 2.01%) +_.. + + +[libSDL3.so.0.4.12] (73,978,640 samples, 3.21%) +[li.. + + +main::main (1,863,066,199 samples, 80.84%) +main::main + + +[libSDL3.so.0.4.12] (505,369,078 samples, 21.93%) +[libSDL3.so.0.4.12] + + +[libvulkan_radeon.so] (17,437,186 samples, 0.76%) + + + +all (2,304,609,671 samples, 100%) + + + +[libvulkan_radeon.so] (73,168,487 samples, 3.17%) +[li.. + + +[libvulkan_radeon.so] (73,168,487 samples, 3.17%) +[li.. + + +[libffi.so.8.4.1] (9,419,443 samples, 0.41%) + + + +[libGLX_nvidia.so.610.43.03] (11,186,482 samples, 0.49%) + + + +[libc.so.6] (9,454,315 samples, 0.41%) + + + +_dl_catch_exception (13,749,101 samples, 0.60%) + + + +[libGLX_nvidia.so.610.43.03] (9,945,843 samples, 0.43%) + + + +[libvulkan_radeon.so] (19,472,565 samples, 0.84%) + + + +[libGLX_nvidia.so.610.43.03] (11,186,482 samples, 0.49%) + + + +dbus_connection_dispatch (12,070,161 samples, 0.52%) + + + +clock_gettime (19,163,986 samples, 0.83%) + + + +[libxkbcommon.so.0.13.2] (9,419,443 samples, 0.41%) + + + +pthread_mutex_lock (18,247,640 samples, 0.79%) + + + +runtime::bounds_check_error (12,346,568 samples, 0.54%) + + + +[libvulkan_radeon.so] (57,423,030 samples, 2.49%) +[l.. + + +runtime::append_elem:proc (12,615,968 samples, 0.55%) + + + +runtime::default_hasher (29,573,324 samples, 1.28%) + + + +engine::end_frame (16,323,788 samples, 0.71%) + + + +[unknown] (34,950,221 samples, 1.52%) + + + +[libSDL3.so.0.4.12] (16,323,788 samples, 0.71%) + + + +[libvulkan_radeon.so] (101,218,065 samples, 4.39%) +[libv.. + + +[libnvidia-glcore.so.610.43.03] (9,945,843 samples, 0.43%) + + + +[libc.so.6] (9,751,894 samples, 0.42%) + + + +runtime::bounds_check_error (10,404,487 samples, 0.45%) + + + +wl_display_roundtrip_queue (9,419,443 samples, 0.41%) + + + +runtime::memory_equal (16,523,202 samples, 0.72%) + + + +pthread_mutex_unlock (7,866,232 samples, 0.34%) + + + +__$hasher$$string (15,283,482 samples, 0.66%) + + + +[libvulkan_radeon.so] (63,861,067 samples, 2.77%) +[l.. + + +[libxkbcommon.so.0.13.2] (9,419,443 samples, 0.41%) + + + +xkb_compose_table_new_from_locale (9,419,443 samples, 0.41%) + + + +[libSDL3.so.0.4.12] (56,882,145 samples, 2.47%) +[l.. + + +[libxkbcommon.so.0.13.2] (9,419,443 samples, 0.41%) + + + +[libvulkan_radeon.so] (19,472,565 samples, 0.84%) + + + +[ld-linux-x86-64.so.2] (13,749,101 samples, 0.60%) + + + +[libvulkan_radeon.so] (19,495,091 samples, 0.85%) + + + +dbus_connection_get_dispatch_status (18,725,003 samples, 0.81%) + + + +[libvulkan_radeon.so] (19,472,565 samples, 0.84%) + + + +engine::update_sprite (195,816,016 samples, 8.50%) +engine::upda.. + + +pthread_mutex_lock (10,863,380 samples, 0.47%) + + + +[libSDL3.so.0.4.12] (188,572,438 samples, 8.18%) +[libSDL3.so.. + + +[libzstd.so.1.5.7] (19,472,565 samples, 0.84%) + + + +[libvulkan_radeon.so] (39,593,833 samples, 1.72%) + + + +runtime::memory_equal (10,488,332 samples, 0.46%) + + + +main::main (101,218,065 samples, 4.39%) +main:.. + + +[libvulkan_radeon.so] (19,472,565 samples, 0.84%) + + + +[libvulkan_radeon.so] (106,498,259 samples, 4.62%) +[libv.. + + +[libSDL3.so.0.4.12] (85,667,248 samples, 3.72%) +[lib.. + + +wl_display_dispatch_queue_timeout (9,419,443 samples, 0.41%) + + + +[libSDL3.so.0.4.12] (9,419,443 samples, 0.41%) + + + +[libvulkan_radeon.so] (19,472,565 samples, 0.84%) + + + +[libc.so.6] (13,749,101 samples, 0.60%) + + + +wl_display_dispatch_queue (9,419,443 samples, 0.41%) + + + +[libc.so.6] (11,186,482 samples, 0.49%) + + + +pthread_rwlock_wrlock (8,806,208 samples, 0.38%) + + + +[libvulkan_radeon.so] (16,323,788 samples, 0.71%) + + + +[libvulkan_radeon.so] (54,837,227 samples, 2.38%) +[.. + + +[libc.so.6] (22,142,026 samples, 0.96%) + + + +[libvulkan_radeon.so] (6,742,674 samples, 0.29%) + + + +dlopen (13,749,101 samples, 0.60%) + + + +ZSTD_decompress_usingDDict (19,472,565 samples, 0.84%) + + + +[libc.so.6] (19,549,046 samples, 0.85%) + + + +pthread_rwlock_rdlock (8,116,234 samples, 0.35%) + + + +mem::copy (9,751,894 samples, 0.42%) + + + +[libc.so.6] (9,140,151 samples, 0.40%) + + + +main::main (16,323,788 samples, 0.71%) + + + +[libvulkan_radeon.so] (73,168,487 samples, 3.17%) +[li.. + + +[libvulkan_radeon.so] (73,168,487 samples, 3.17%) +[li.. + + +[unknown] (11,820,981 samples, 0.51%) + + + +main (1,863,105,327 samples, 80.84%) +main + + +[libvulkan_radeon.so] (15,948,532 samples, 0.69%) + + + +ffi_call (9,419,443 samples, 0.41%) + + + +engine::begin_frame (248,472,422 samples, 10.78%) +engine::begin_f.. + + +[libc.so.6] (15,793,346 samples, 0.69%) + + + +main (16,323,788 samples, 0.71%) + + + +[libvulkan_radeon.so] (16,323,788 samples, 0.71%) + + + +[libvulkan_radeon.so] (174,493,782 samples, 7.57%) +[libvulkan.. + + +[libGLX_nvidia.so.610.43.03] (11,186,482 samples, 0.49%) + + + +[libvulkan_radeon.so] (39,593,833 samples, 1.72%) + + + +[unknown] (9,114,576 samples, 0.40%) + + + +[libvulkan_radeon.so] (39,593,833 samples, 1.72%) + + + +engine::draw_sprite (694,703,810 samples, 30.14%) +engine::draw_sprite + + +