1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-04 12:00:25 +00:00

[Web] Fix the editor {godot,emscripten}PoolSize config values

Co-authored-by: Fabio Alessandrelli <fabio.alessandrelli@gmail.com>
This commit is contained in:
Adam Scott
2025-07-25 07:44:20 -04:00
parent 967e2d499a
commit 1777be4444

View File

@@ -674,6 +674,10 @@ function startEditor(zip) {
} }
} }
const clamp = (value, min, max) => Math.min(Math.max(value, min), max);
// We need at least 6 free threads from the pool to start the editor.
// At least 4 more will be reserved for the godot thread pool (3 is the bare minimum with the multithreaded variant of the servers).
const concurrency = clamp(navigator.hardwareConcurrency ?? 1, 12, 24);
const editorConfig = { const editorConfig = {
'unloadAfterInit': false, 'unloadAfterInit': false,
'onProgress': function progressFunction(current, total) { 'onProgress': function progressFunction(current, total) {
@@ -700,6 +704,8 @@ function startEditor(zip) {
}, },
'onExecute': Execute, 'onExecute': Execute,
'persistentPaths': persistentPaths, 'persistentPaths': persistentPaths,
'emscriptenPoolSize': concurrency,
'godotPoolSize': Math.floor(concurrency / 3), // Ensures at least 4 threads for the pool (see above).
}; };
editor = new Engine(editorConfig); editor = new Engine(editorConfig);