From d737b0a9671fe0c3fd96e0618b6bd7edbe84ddb2 Mon Sep 17 00:00:00 2001 From: Otozinclus <58051309+Otozinclus@users.noreply.github.com> Date: Mon, 30 Dec 2024 06:54:59 +0100 Subject: [PATCH] Add sleep when translating shaders --- .../Shader/DiskCache/ParallelDiskCacheLoader.cs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/Ryujinx.Graphics.Gpu/Shader/DiskCache/ParallelDiskCacheLoader.cs b/src/Ryujinx.Graphics.Gpu/Shader/DiskCache/ParallelDiskCacheLoader.cs index 74922d1e3..43d14a246 100644 --- a/src/Ryujinx.Graphics.Gpu/Shader/DiskCache/ParallelDiskCacheLoader.cs +++ b/src/Ryujinx.Graphics.Gpu/Shader/DiskCache/ParallelDiskCacheLoader.cs @@ -178,10 +178,13 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache int programIndex, bool isCompute) { + Thread.Sleep(shaderTranslationDelay); + GuestShaders = guestShaders; SpecializationState = specState; ProgramIndex = programIndex; - IsCompute = isCompute; + IsCompute = isCompute, + int = shaderTranslationDelay; } } @@ -366,7 +369,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache { try { - AsyncProgramTranslation asyncTranslation = new(guestShaders, specState, programIndex, isCompute); + AsyncProgramTranslation asyncTranslation = new(guestShaders, specState, programIndex, isCompute, _context.DirtyHacks[DirtyHacks.ShaderCompilationThreadSleep); _asyncTranslationQueue.Add(asyncTranslation, _cancellationToken); } catch (OperationCanceledException)