Measure Vulkan recording refactor on the local Intel laptop
User requests local performance analysis of uncommitted Vulkan recording refactor. Preserve implementation changes and avoid desktop windows. Hardware discovered: Intel Core i7-10850H,6cores/12threads; Intel UHD Graphics CML GT2, Mesa26.2.6. Compare original develop d95d7f74c renderer against refactored inline and1/2/4 workers in matched reversed-order Release controls. Prefer existing offline real-scene/profile/capture infrastructure, fixed graphics/workload/time, separate private native-Wayland compositor or native offscreen, no validation in timings. Preserve source/binary bundles, metadata/work counters and image equivalence. Separate preparation, recording/coordinator waits, worker elapsed, GPU and full frame costs. User now authorizes continued local profiling, optimization and correctness testing of the renderer refactor. Investigate actual allocations and recording/coordination costs with CPU/allocation profiling and matched controls; retain only evidence-backed improvements. Preserve the opened WIP PR baseline b4128ed18 and earlier immutable bundles. Keep private harnesses/traces out of repository changes. No new commit/push instruction in this turn; leave follow-up implementation changes uncommitted unless requested. Do not use the slow generic feature reviewer (user explicitly opted out). Acceptance: valid controlled measurements and concise source-backed interpretation, or concrete execution blockers. Local analysis completed; user now requests a WIP PR to pull onto the main GPU/PC. Runtime source remains byte-identical to the validated implementation; all performance tooling, snapshots and evidence are ignored under .dev-data/recording-perf. Original-source is detached d95d7f74c; candidate-source carries the34 intended implementation files. Separate immutable Release+developer-profiler native-offscreen bundles use identical synthetic geometry/materials, camera/time,640x360,3slots,Medium AO, no shadows/AA/bloom/UI, validation/implicit layers disabled.500warmup and900measured frames per run;20timing runs across sparse/dense workloads in forward/reversed original/inline/1/2/4 order. All shared workload counters constant and full RGBA hashes identical across all modes/runs. Dense workload3328draws:384AO,896scene/picking and2048transparent. Sparse workload2-run means:original3.5665ms/frame,inline3.5353,worker1 3.6931,worker2 3.8302,worker4 3.6180. Dense:original9.8424ms,inline9.8303,worker1 10.3890,worker2 10.2583,worker4 10.2009. Dense median preparation+recording averaged across run medians:original2.0524ms,inline2.1328,worker1 2.4593,worker2 1.9482,worker4 1.7836. Dense process CPU per frame:original3.1667ms,inline3.2865,worker1 3.5843,worker2 3.8521,worker4 4.4699. These are real Vulkan synthetic workload measurements, not live-game FPS or generic hardware approval. Six additional reversed dense controls sampled GPU clocks and CPU package throttle counters. Renderer DLLs byte-match the first bundles; only harness timing markers added. GPU requested1150MHz/actual1131โ1144MHz,zero new package thermal events during sampled intervals. Whole-frame intervals overlap more in these runs (original10.0355/9.4815ms,inline9.5925/9.5605,worker4 9.9465/9.6623), so no stable FPS gain or exact secondary-buffer slowdown is claimed. Evidence supports lower main recording wall time at4workers, higher total CPU consumption and GPU-limited throughput; specific driver versus power causation unproven. Real Newland offline smoke succeeded in private Cage/wlroots headless compositor, native Vulkan Intel GPU,1280x720,playfield567,position997.2/34/375.8,yaw0/pitch-15,hour14,default isolated preferences,4workers.90frames after15s settle. Median mainGPU62.34ms, separate shadows15.60ms,Render76.98ms,frame-fence67.12ms,draw preparation1.00ms,main recording1.67ms,culling5.07ms. Screenshot inspected. Counters vary slightly with advancing scene,so this is GPU-bottleneck reconnaissance,not a matched worker-count comparison. No real-game original/inline control or frozen-scene equivalence claim. Initial compositor smoke failed because runtime socket path exceeded108bytes; short private /tmp runtime fixed it. Next attempt found stock install missing converted SQLite; created private symlink-only game-root combining installed assets with existing read-only converted rdb.db,not modifying either source. Successful evidence runs/newland-smoke3-4. All windows confined to private compositor; no desktop/game-server session. Evidence:analysis.json,controls.log,telemetry.log,runs/*/{profile,metadata,session,telemetry}.json,full images and source-manifest.json in .dev-data/recording-perf. No implementation changes made from these measurements. Main-GPU performance assessment is the requested next handoff, not measured on this laptop. User authorized opening the implementation as WIP to pull on the main PC. Draft PR #3037: https://git.project-rk.com/prk/engines/pulls/3037 โ feature/vulkan-multithreaded-rendering โ develop, commit b4128ed18. Private harness/data are intentionally not part of the34-file implementation PR. Existing local measurements/limitations above remain unchanged; no benchmark default or runtime behavior was modified in response to this laptop's results.
Checklist
2 of 4 complete- Establish reproducible private native-Vulkan workload and isolated original/refactored Release bundles.
- Run reversed-order timing controls, check output/workload equivalence and analyze frame/preparation/recording/GPU costs.
- Attribute steady-state allocations and recording/worker costs using exact thread measurements and sampled managed traces.
- Implement only demonstrated allocation/performance improvements and verify with reversed timing controls, output equivalence and native regression/lifecycle checks.
- Area
- Project Rubi-Ka
- Project
- engines
- Kind
- Research
- Task ID
tsk_tsbg7k5pdd- Updated