From 8d44d15c9bb0a3655b7bb992ba60a4bfffbd7547 Mon Sep 17 00:00:00 2001 From: Stanley Dimant Date: Fri, 21 Feb 2025 16:55:54 +0100 Subject: [PATCH] add 250ms delay to wait for chara redraw --- MareSynchronos/Services/DalamudUtilService.cs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/MareSynchronos/Services/DalamudUtilService.cs b/MareSynchronos/Services/DalamudUtilService.cs index 336a02d..6a1b1ae 100644 --- a/MareSynchronos/Services/DalamudUtilService.cs +++ b/MareSynchronos/Services/DalamudUtilService.cs @@ -461,12 +461,13 @@ public class DalamudUtilService : IHostedService, IMediatorSubscriber { if (!_clientState.IsLoggedIn) return; - logger.LogTrace("[{redrawId}] Starting wait for {handler} to draw", redrawId, handler); - const int tick = 250; int curWaitTime = 0; try { + logger.LogTrace("[{redrawId}] Starting wait for {handler} to draw", redrawId, handler); + await Task.Delay(tick).ConfigureAwait(true); + while ((!ct?.IsCancellationRequested ?? true) && curWaitTime < timeOut && await handler.IsBeingDrawnRunOnFrameworkAsync().ConfigureAwait(false)) // 0b100000000000 is "still rendering" or something @@ -731,7 +732,7 @@ public class DalamudUtilService : IHostedService, IMediatorSubscriber Mediator.Publish(new DalamudLogoutMessage()); } - if (_gameConfig != null + if (_gameConfig != null && _gameConfig.TryGet(Dalamud.Game.Config.SystemConfigOption.LodType_DX11, out bool lodEnabled)) { IsLodEnabled = lodEnabled;