https://bugs.documentfoundation.org/show_bug.cgi?id=137468
Bug ID: 137468
Summary: Severe performance degradation on a macOS with a 5K
display
Product: LibreOffice
Version: 7.1.0.0.alpha0+ Master
Hardware: All
OS: Mac OS X (All)
Status: UNCONFIRMED
Severity: normal
Priority: medium
Component: UI
Assignee: libreoffice-bugs@lists.freedesktop.org
Reporter: ilf...@gmail.com
Description:
LibreOffice's interface is sluggish when resizing, scrolling and during other
operations when used under macOS 10.13/14/15 with a 10-bit 5K display.
The attached patch will improve the rendering performance by setting NSWindow's
color depth limit.
diff --git a/vcl/inc/osx/salframeview.h b/vcl/inc/osx/salframeview.h
index 36537f3db958..e3a1269f2ccc 100644
--- a/vcl/inc/osx/salframeview.h
+++ b/vcl/inc/osx/salframeview.h
@@ -79,6 +79,7 @@ enum class SalEvent;
// #i102807# used by magnify event handler
NSTimeInterval mfLastMagnifyTime;
float mfMagnifyDeltaSum;
+ BOOL mbColorDepthIsSet;
}
+(void)unsetMouseFrame: (AquaSalFrame*)pFrame;
-(id)initWithSalFrame: (AquaSalFrame*)pFrame;
diff --git a/vcl/osx/salframeview.mm b/vcl/osx/salframeview.mm
index d26617eb3d15..21a52b39d4e5 100644
--- a/vcl/osx/salframeview.mm
+++ b/vcl/osx/salframeview.mm
@@ -465,6 +465,7 @@ -(id)initWithSalFrame: (AquaSalFrame*)pFrame
mpReferenceWrapper = nil;
mpMouseEventListener = nil;
mpLastSuperEvent = nil;
+ mbColorDepthIsSet = NO;
}
mfLastMagnifyTime = 0.0;
@@ -510,6 +511,13 @@ -(BOOL)isOpaque
-(void)drawRect: (NSRect)aRect
{
+ if (!mbColorDepthIsSet)
+ {
+ [mpFrame->getNSWindow() setDynamicDepthLimit:NO];
+ [mpFrame->getNSWindow() setDepthLimit:NSWindowDepthTwentyfourBitRGB];
+ mbColorDepthIsSet = YES;
+ }
+
AquaSalInstance *pInstance = GetSalData()->mpInstance;
assert(pInstance);
if (!pInstance)
Actual Results:
Sluggish interface
Expected Results:
Smooth resizing and scrolling.
Reproducible: Always
User Profile Reset: No
Additional Info:
Set window color depth limit.
--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs