From a169ee0dbea48f1bf7be3a15396ef9db345af584 Mon Sep 17 00:00:00 2001 From: Leonard Hecker Date: Sat, 14 May 2022 03:44:36 +0200 Subject: [PATCH] AtlasEngine: Stop resizing buffers on scroll --- src/renderer/atlas/AtlasEngine.api.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/renderer/atlas/AtlasEngine.api.cpp b/src/renderer/atlas/AtlasEngine.api.cpp index 3cfc35c363a..78ba30aaf74 100644 --- a/src/renderer/atlas/AtlasEngine.api.cpp +++ b/src/renderer/atlas/AtlasEngine.api.cpp @@ -174,9 +174,15 @@ constexpr HRESULT vec2_narrow(U x, U y, AtlasEngine::vec2& out) noexcept [[nodiscard]] HRESULT AtlasEngine::UpdateViewport(const SMALL_RECT srNewViewport) noexcept { - _api.cellCount.x = gsl::narrow_cast(srNewViewport.Right - srNewViewport.Left + 1); - _api.cellCount.y = gsl::narrow_cast(srNewViewport.Bottom - srNewViewport.Top + 1); - WI_SetFlag(_api.invalidations, ApiInvalidations::Size); + const u16x2 cellCount{ + gsl::narrow_cast(srNewViewport.Right - srNewViewport.Left + 1), + gsl::narrow_cast(srNewViewport.Bottom - srNewViewport.Top + 1), + }; + if (_api.cellCount != cellCount) + { + _api.cellCount = cellCount; + WI_SetFlag(_api.invalidations, ApiInvalidations::Size); + } return S_OK; }