perf(vulkan): increase shader threads for high-end Android devices

- 6+ core devices: Use n-2 threads (e.g., 8-core uses 6 threads)
- Lower-end devices: Keep 3 free cores as before
- Improves shader compilation speed during game loading

Signed-off-by: Zephyron <zephyron@citron-emu.org>
This commit is contained in:
Zephyron
2026-02-04 19:44:15 +10:00
parent 5d19b5ff71
commit a2bffc8994

View File

@@ -268,8 +268,11 @@ size_t GetTotalPipelineWorkers() {
const size_t max_core_threads =
std::max<size_t>(static_cast<size_t>(std::thread::hardware_concurrency()), 2ULL);
#ifdef ANDROID
// Leave at least a few cores free in android
constexpr size_t free_cores = 3ULL;
// PROJECT THOR OPTIMIZATION: Shader Threading for high-end Android devices
// For 8-core devices like SD8 Gen 2 (AYN Thor): Use 6 threads (8 - 2 = 6)
// For 6-core devices: Use 4 threads (6 - 2 = 4)
// For lower-end devices: Leave 3 cores free as before
const size_t free_cores = (max_core_threads >= 6ULL) ? 2ULL : 3ULL;
if (max_core_threads <= free_cores) {
return 1ULL;
}