From 07466a52c60dca9c1aeb1d40423bb9427d1a9583 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Morten=20Johan=20S=C3=B8rvig?= Date: Thu, 3 Sep 2020 14:29:04 +0200 Subject: [PATCH] macOS: Remove alpha from default surface format MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit (This reverts commit 2ca1253b13e77643b3d2dd993a038ae2df882311). This allowed use to avoid backing store RGB -> RGBA conversions on the CPU back before macOS was layer backed. The conversion should be GPU accelerated now, and we can return to the cross-platform default. In addition, RGBA backingstores requires filling with transparent pixels on each paint event, which causes increased CPU usage - often for no reason if transparency effects are not used. Change-Id: Ic795128b7e474b63f44f9f4f3526d0b205652e62 Reviewed-by: Tor Arne Vestbø --- src/plugins/platforms/cocoa/qcocoawindow.mm | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/src/plugins/platforms/cocoa/qcocoawindow.mm b/src/plugins/platforms/cocoa/qcocoawindow.mm index 38aa343d4f..272113545a 100644 --- a/src/plugins/platforms/cocoa/qcocoawindow.mm +++ b/src/plugins/platforms/cocoa/qcocoawindow.mm @@ -223,14 +223,7 @@ QCocoaWindow::~QCocoaWindow() QSurfaceFormat QCocoaWindow::format() const { - QSurfaceFormat format = window()->requestedFormat(); - - // Upgrade the default surface format to include an alpha channel. The default RGB format - // causes Cocoa to spend an unreasonable amount of time converting it to RGBA internally. - if (format.alphaBufferSize() < 0) - format.setAlphaBufferSize(8); - - return format; + return window()->requestedFormat(); } void QCocoaWindow::setGeometry(const QRect &rectIn)