Reproduction steps:
- Open the attached "IN-148261" project
- Make sure the Graphics API for Linux is set to Vulkan (Edit > Project Settings > Player)
- Build and run the project with "Development Build" enabled (File > Build Profiles)
- Open the Profiler (Window > Analysis > Profiler) and select the running player in the target dropdown at the top
- Select the CPU Usage module, set the bottom pane to "Raw Hierarchy", and search for "AcquireWrite"
- Observe how many "BatchRendererGroup.AcquireWrite" entries are listed
Actual result: 4 separate "BatchRendererGroup.AcquireWrite" entries are listed, each with 1 call
Expected result: 1 "BatchRendererGroup.AcquireWrite" entry is listed
Reproducible with: 6000.0.0f1, 6000.0.84f1, 6000.3.24f1, 6000.6.2f1, 6000.7.0b1, 7000.0.0a1
Reproducible environment: Ubuntu 24.04.4 LTS, Windows 11
Not reproducible environment: No other environments tested
Notes:
- Only a Linux player records time against the entries: one camera reads 0.00 ms, two read +-0.03 ms in total (spikes up to 0.5 ms), four read +-0.06 ms in total (spikes up to 5 ms). Play mode on either platform and a Windows build read 0.00 ms
- No user BatchRendererGroup is needed. The GPU Resident Drawer registers one of its own
- Does not reproduce on OpenGL Core, where the GPU Resident Drawer does not start