You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Upgrade to Emscripten💩 3.1.50 in order to enable mimalloc
Upgrade to Emscripten💩 3.1.50 in order to enable mimalloc.
The default allocator (dlmalloc) has dog-shit for performance
under multiple threads due to plenty of locking happening inside
the allocator. The better allocator is mimalloc that requires
Emscripten💩 3.1.50
Emscripten💩 3.1.27 changed the default stack size to 64kb.
Restore the original 5MB stack size with
-sSTACK_SIZE=5MB
Upgrading Emscripten comes with a new clang that is based on
a new LLVM version that has a regression so sol2 build fails:
ThePhD/sol2#1614
Adding a WAR in sol.hpp to change the offendin function signatures
to unconditonal noexcept.
mimalloc performance:
emscripten-core/emscripten#20651
* This is trying to communicate that something was built without thread support when thread support should be enabled.<br>
351
345
In other words trying to mix + match translation units / libs built with different build configuration.
352
-
* Make sure to double check the build flags including `third_party/CMakeLists.txt`
346
+
* Make sure to double check the build flags including `third_party/CMakeLists.txt`
353
347
354
348
</details>
355
349
356
350
If your build was successful there should now be `GameEngine.js`, `GameEngine.wasm` and `GameEngine.worker.js` files in the editor's `dist` folder.<br>
357
351
358
352
### Step 2.1) Deploying the Game for the Web 💩
359
353
360
-
When you package your game for the web the editor will copy all the required files to your chosen output directory.
354
+
When you package your game for the web the editor will copy all the required files to your chosen output directory.
361
355
362
356
* GameEngine.js
363
357
* GameEngine.wasm
364
358
* GameEngine.worker.js
365
359
* FILESYSTEM
366
-
* FILESYSTEM.js
367
-
* game.html
360
+
* FILESYSTEM.js
361
+
* game.html
368
362
369
363
These 6 files are then all the files that you need to deploy/copy over to your web server.<br><br>
370
-
<i>Hint: You can rename `game.html` to whatever you want, for example `my-amazing-game.html`. Just don't change the names of any other files</i>
371
-
364
+
365
+
366
+
> [!HINT]
367
+
> You can rename `game.html` to whatever you want, for example `my-amazing-game.html`. Just don't change the names of any other files
368
+
369
+
372
370
<details><summary>1. Configure Your Web Server</summary>
373
371
374
-
<strong><i>You must enable the correct web policies💩 in order to enable SharedArrayBuffer💩 in order to enable threads !! </i>💩💩</strong><br>
375
-
<strong><i>Without SharedArrayBuffer web worker threads can't run and the engine cannot work. </i>💩💩</strong><br>
0 commit comments