Title: [265418] trunk/Source
- Revision
- 265418
- Author
- [email protected]
- Date
- 2020-08-09 11:23:44 -0700 (Sun, 09 Aug 2020)
Log Message
Preload graphics drivers in Mac WebProcess
https://bugs.webkit.org/show_bug.cgi?id=215183
Reviewed by Darin Adler.
Source/WebCore:
In newer versions of Mac OS, graphics drivers are no longer part of the shared cache due to
size restrictions. This can cause first render to be blocked by ~10 ms when we dlopen those
drivers. To work around this, we preload the drivers when prewarming the WebProcess.
* page/ProcessWarming.cpp:
(WebCore::ProcessWarming::prewarmGlobally):
Source/WTF:
Enable GPU driver preheating in versions of the OS that might not have the drivers in the dyld
shared cache due to size restrictions.
* wtf/PlatformEnableCocoa.h:
Modified Paths
Diff
Modified: trunk/Source/WTF/ChangeLog (265417 => 265418)
--- trunk/Source/WTF/ChangeLog 2020-08-09 15:34:01 UTC (rev 265417)
+++ trunk/Source/WTF/ChangeLog 2020-08-09 18:23:44 UTC (rev 265418)
@@ -1,3 +1,15 @@
+2020-08-09 Ben Nham <[email protected]>
+
+ Preload graphics drivers in Mac WebProcess
+ https://bugs.webkit.org/show_bug.cgi?id=215183
+
+ Reviewed by Darin Adler.
+
+ Enable GPU driver preheating in versions of the OS that might not have the drivers in the dyld
+ shared cache due to size restrictions.
+
+ * wtf/PlatformEnableCocoa.h:
+
2020-08-09 Commit Queue <[email protected]>
Unreviewed, reverting r263195, r263252, and r265394.
Modified: trunk/Source/WTF/wtf/PlatformEnableCocoa.h (265417 => 265418)
--- trunk/Source/WTF/wtf/PlatformEnableCocoa.h 2020-08-09 15:34:01 UTC (rev 265417)
+++ trunk/Source/WTF/wtf/PlatformEnableCocoa.h 2020-08-09 18:23:44 UTC (rev 265418)
@@ -224,6 +224,10 @@
#define ENABLE_GPU_PROCESS 1
#endif
+#if !defined(ENABLE_GPU_DRIVER_PREWARMING) && PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101600
+#define ENABLE_GPU_DRIVER_PREWARMING 1
+#endif
+
#if !defined(ENABLE_INDEXED_DATABASE)
#define ENABLE_INDEXED_DATABASE 1
#endif
Modified: trunk/Source/WebCore/ChangeLog (265417 => 265418)
--- trunk/Source/WebCore/ChangeLog 2020-08-09 15:34:01 UTC (rev 265417)
+++ trunk/Source/WebCore/ChangeLog 2020-08-09 18:23:44 UTC (rev 265418)
@@ -1,3 +1,17 @@
+2020-08-09 Ben Nham <[email protected]>
+
+ Preload graphics drivers in Mac WebProcess
+ https://bugs.webkit.org/show_bug.cgi?id=215183
+
+ Reviewed by Darin Adler.
+
+ In newer versions of Mac OS, graphics drivers are no longer part of the shared cache due to
+ size restrictions. This can cause first render to be blocked by ~10 ms when we dlopen those
+ drivers. To work around this, we preload the drivers when prewarming the WebProcess.
+
+ * page/ProcessWarming.cpp:
+ (WebCore::ProcessWarming::prewarmGlobally):
+
2020-08-09 Youenn Fablet <[email protected]>
Always resolve ReadableStream's tee()'s cancel promise after the stream closes or errors
Modified: trunk/Source/WebCore/page/ProcessWarming.cpp (265417 => 265418)
--- trunk/Source/WebCore/page/ProcessWarming.cpp 2020-08-09 15:34:01 UTC (rev 265417)
+++ trunk/Source/WebCore/page/ProcessWarming.cpp 2020-08-09 18:23:44 UTC (rev 265418)
@@ -43,6 +43,11 @@
#include "XMLNSNames.h"
#include "XMLNames.h"
+#if ENABLE(GPU_DRIVER_PREWARMING)
+#include "GPUDevice.h"
+#include "GPURequestAdapterOptions.h"
+#endif
+
namespace WebCore {
void ProcessWarming::initializeNames()
@@ -78,6 +83,10 @@
#if ENABLE(TELEPHONE_NUMBER_DETECTION)
TelephoneNumberDetector::isSupported();
#endif
+
+#if ENABLE(GPU_DRIVER_PREWARMING)
+ GPUDevice::tryCreate(WTF::nullopt);
+#endif
}
WebCore::PrewarmInformation ProcessWarming::collectPrewarmInformation()
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes