From db0af3a8e5238ccfb3a27e9a326cc4f8c0de5dc8 Mon Sep 17 00:00:00 2001 From: Brian Fiete Date: Mon, 9 Sep 2024 14:51:23 -0400 Subject: [PATCH] Console perf improvements --- IDE/src/ui/ConsolePanel.bf | 18 ++++++++++++++++-- IDE/src/util/ConsoleProvider.bf | 3 +++ 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/IDE/src/ui/ConsolePanel.bf b/IDE/src/ui/ConsolePanel.bf index 8e791658..76469797 100644 --- a/IDE/src/ui/ConsolePanel.bf +++ b/IDE/src/ui/ConsolePanel.bf @@ -456,7 +456,7 @@ class ConsolePanel : Panel } }*/ - if (Paused || !mConsoleProvider.Attached) + if ((Paused || !mConsoleProvider.Attached) && (gApp.mIsUpdateBatchStart)) { int scrollTop = (.)(mScrollableWidget.mVertScrollbar.mContentPos / mCellHeight); float wantScrollPos = scrollTop * mCellHeight; @@ -687,7 +687,21 @@ class ConsolePanel : Panel public override void DrawAll(Graphics g) { - if (!mConsoleProvider.Attached) + if ((mConsoleProvider is WinNativeConsoleProvider) && (gApp.mSettings.mDebugConsoleKind != .Embedded)) + { + using (g.PushColor(0xFFA0A0A0)) + { + base.DrawAll(g); + } + + using (g.PushColor(0x40A0A0A0)) + g.FillRect(0, 0, mWidth, mHeight); + + g.SetFont(DarkTheme.sDarkTheme.mSmallFont); + using (g.PushColor(0xFFA0A0A0)) + g.DrawString("Enable embedded Debug Console in Settings", GS!(16), GS!(16), .Centered, mScrollableWidget.mVertScrollbar.mX - GS!(32)); + } + else if (!mConsoleProvider.Attached) { //using (g.PushColor(0x80FFFFFF)) using (g.PushColor(0xFFA0A0A0)) diff --git a/IDE/src/util/ConsoleProvider.bf b/IDE/src/util/ConsoleProvider.bf index a86d347a..2d6ea730 100644 --- a/IDE/src/util/ConsoleProvider.bf +++ b/IDE/src/util/ConsoleProvider.bf @@ -490,6 +490,9 @@ class WinNativeConsoleProvider : ConsoleProvider if (mScreenInfo == null) return; + if (mScreenInfo.mScrollTop == row) + return; + GetFullScreenInfo(mScreenInfo); mScreenInfo.mScrollTop = (.)row;