From e6be17fb717bbee4f22cdcf6befac9d2b989e4ca Mon Sep 17 00:00:00 2001 From: codegirl-007 Date: Mon, 3 Aug 2026 13:45:42 -0700 Subject: [PATCH] initial perf tools --- .gitignore | 12 + Makefile | 48 + engine/app.odin | 13 + flame/crowd-20260803-003404-report.txt | 645 +++++++++++ flame/crowd-20260803-003404.jpg | Bin 0 -> 126272 bytes flame/crowd-20260803-003404.svg | 1442 ++++++++++++++++++++++++ flame/crowd-20260803-134209-report.txt | 700 ++++++++++++ flame/crowd-20260803-134209.jpg | Bin 0 -> 122707 bytes flame/crowd-20260803-134209.svg | 1422 +++++++++++++++++++++++ 9 files changed, 4282 insertions(+) create mode 100644 flame/crowd-20260803-003404-report.txt create mode 100644 flame/crowd-20260803-003404.jpg create mode 100644 flame/crowd-20260803-003404.svg create mode 100644 flame/crowd-20260803-134209-report.txt create mode 100644 flame/crowd-20260803-134209.jpg create mode 100644 flame/crowd-20260803-134209.svg 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/Makefile b/Makefile index 7bae0be..f633a78 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,16 @@ .PHONY: shaders-vulkan shaders-d3d12 shaders-metal shaders-all bake toad hello_sprite crowd camera_sandbox clips check test help +.PHONY: flame flame-build flame-record flame-svg flame-report flame-tools + +# Flamegraph profiling (needs: pacman -S perf). Example: make flame or make flame FLAME_EXAMPLE=toad +FLAME_EXAMPLE ?= crowd +FLAME_BIN := $(FLAME_EXAMPLE)_perf +FLAMEGRAPH_DIR ?= tools/FlameGraph +FLAME_OUT_DIR ?= flame +# One stamp per `make` invocation so svg/jpg/report share a name. +ifndef FLAME_STAMP +FLAME_STAMP := $(shell date +%Y%m%d-%H%M%S) +endif +FLAME_PREFIX := $(FLAME_OUT_DIR)/$(FLAME_EXAMPLE)-$(FLAME_STAMP) help: @echo "Targets:" @@ -14,6 +26,11 @@ help: @echo " crowd Many sprites, one Character_Data" @echo " camera_sandbox Pan camera / Space toggles follow" @echo " clips Keys 1/2 switch idle/walk" + @echo " flame Build+record+SVG+JPG+text report (FLAME_EXAMPLE=$(FLAME_EXAMPLE))" + @echo " flame-build Debug binary only ($(FLAME_BIN))" + @echo " flame-record perf record (play, then quit)" + @echo " flame-svg Convert perf.data -> $(FLAME_PREFIX).svg/.jpg" + @echo " flame-report Convert perf.data -> $(FLAME_PREFIX)-report.txt" bake: ./scripts/bake_all.sh @@ -31,6 +48,7 @@ shaders-all: shaders-vulkan shaders-d3d12 shaders-metal test: odin test engine + odin test assetbake check: odin check examples/toad -collection:pkg=. @@ -53,3 +71,33 @@ camera_sandbox: clips: odin run examples/clips -collection:pkg=. + +flame-tools: + @if [ ! -x "$(FLAMEGRAPH_DIR)/stackcollapse-perf.pl" ] || [ ! -x "$(FLAMEGRAPH_DIR)/flamegraph.pl" ]; then \ + echo "Cloning FlameGraph scripts into $(FLAMEGRAPH_DIR)..."; \ + git clone --depth 1 https://github.com/brendangregg/FlameGraph.git "$(FLAMEGRAPH_DIR)"; \ + fi + +flame-build: + odin build examples/$(FLAME_EXAMPLE) -collection:pkg=. -out:$(FLAME_BIN) -debug + +flame-record: flame-build + @echo ">>> Profiling ./$(FLAME_BIN) — play for ~10–20s under load, then quit the window." + @echo ">>> If perf fails with permissions: sudo sysctl kernel.perf_event_paranoid=1" + perf record -F 99 -g --call-graph dwarf -- ./$(FLAME_BIN) + +flame-svg: flame-tools + @test -f perf.data || { echo "No perf.data — run: make flame-record"; exit 1; } + @mkdir -p "$(FLAME_OUT_DIR)" + perf script | "$(FLAMEGRAPH_DIR)/stackcollapse-perf.pl" | "$(FLAMEGRAPH_DIR)/flamegraph.pl" > "$(FLAME_PREFIX).svg" + magick "$(FLAME_PREFIX).svg" "$(FLAME_PREFIX).jpg" + @echo "Wrote $(FLAME_PREFIX).svg and $(FLAME_PREFIX).jpg" + +flame-report: + @test -f perf.data || { echo "No perf.data — run: make flame-record"; exit 1; } + @mkdir -p "$(FLAME_OUT_DIR)" + perf report --stdio --no-children > "$(FLAME_PREFIX)-report.txt" + @echo "Wrote $(FLAME_PREFIX)-report.txt" + +flame: flame-record flame-svg flame-report + @echo "Artifacts: $(FLAME_PREFIX).{svg,jpg} $(FLAME_PREFIX)-report.txt" 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 0000000000000000000000000000000000000000..62b26eba892962131f37d6f849dc045c87705aef GIT binary patch literal 126272 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 + + + + + + + + + + + + + +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 0000000000000000000000000000000000000000..4e70bd18a73219087331ff02eac7945dd26faf78 GIT binary patch literal 122707 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 literal 0 HcmV?d00001 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 + + +