From 48258b1e50ec995c77cf773ed84cf165f775398e Mon Sep 17 00:00:00 2001 From: ParantezTech <12572227+par274@users.noreply.github.com> Date: Sun, 11 Oct 2026 01:39:56 +0300 Subject: [PATCH] [Core] Map guest thread priorities one band lower --- src/SharpEmu.Core/Cpu/Native/DirectExecutionBackend.cs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/SharpEmu.Core/Cpu/Native/DirectExecutionBackend.cs b/src/SharpEmu.Core/Cpu/Native/DirectExecutionBackend.cs index c807f76..442a67b 100644 --- a/src/SharpEmu.Core/Cpu/Native/DirectExecutionBackend.cs +++ b/src/SharpEmu.Core/Cpu/Native/DirectExecutionBackend.cs @@ -5757,18 +5757,21 @@ public sealed unsafe partial class DirectExecutionBackend : INativeCpuBackend, I return true; } + private static readonly bool LegacyGuestPriorities = + string.Equals(Environment.GetEnvironmentVariable("SHARPEMU_GUEST_PRIORITY"), "legacy", StringComparison.OrdinalIgnoreCase); + private static ThreadPriority MapGuestThreadPriority(int priority) { if (priority <= 478) { - return ThreadPriority.Highest; + return LegacyGuestPriorities ? ThreadPriority.Highest : ThreadPriority.Normal; } if (priority >= 733) { return ThreadPriority.Lowest; } - return ThreadPriority.Normal; + return LegacyGuestPriorities ? ThreadPriority.Normal : ThreadPriority.BelowNormal; } private void ApplyGuestThreadAffinity(ulong guestAffinityMask)