@igb I’ve made fixes and new beta is available (aa0a4bf49cf5b39483af17ce6664dd81855b8839
). All details you can find in PR description Add emscripten option to respect INITIAL_MEMORY value in runtime. by ekharkunov · Pull Request #8807 · defold/defold · GitHub.
Please, let me know if everything is ok now.
tested with bob.jar & editor export
can confirm that both variants wasm and asm.js are working
thank you @ekharkunov !
after a lucky try I’ve managed to “catch” the non launch issue on linux:
exclusion of “profiler” in .appmanifest - both openGL and vulkan are working
the last issue with vulkan that remains at ..b8839
build:
The difference at bundling for linux with appmanifest “profiler” exclusion
Vulkan-bob.jar - editor
bob_vulkan_log.txt
editor_vulkan_log.txt
OpenGL - bob.jar - editor
bob_opengl_log.txt|attachment](upload://sNlJrXMi8w4SMXFTylQAEDSmEPv.txt)
editor_opengl_log.txt
When building with bob, did you use the beta server ? (That’s where the fix is).
I’ve updated the release notes with the fix for the Linux + Vulkan build.
erm, not
now with --build-server="https://build-stage.defold.com/"
bob.jar is working like a charm
thank you @Mathias_Westerdahl
It doesn’t work for me, I understand it’s beta version (1.8.0 (76c4e52)…
OS: Linux kernel 6.5.0
PG: Wayland
File created in previous version
Simple Scene
This process freezes
If I finish this process it’s like a loop (It’s the same)
version 1.7.0
yep, this is a bug that can be avoided by removing profiler from the build with appmanifest
- please note that instance of dmengine is running (pkill it within htop)
- add appmanifest and exclude “profiler”
- link it at game.project at “native extention”
- save + buld it
Thank you for your help!.
This method works, do I have to apply this same method to all my examples to make them work on stable version 1.8.0?
you’re welcome, glad it’s working for you
it depends on the Defold team, as they consistently excel in adding new features and resolving issues
The latest beta contains a fix for Linux booting (i.e. no need to remove the profiler).
Please try this out and verify that it works for you.
can confirm that linux
build ..a90334
I believe I have discovered a physics bug. I have attached a project that changes a collision’s size at runtime. The build time size is 2x2. I update to 128x128. The collision shape displays, but the logic seems to believe the size is still 2x2 in size. I have attached a video of what is happening. The box begins to dance around.
PhysicsTest.zip (4.6 MB)
I’ve been looking forward to the update to emscripten in this release and interested to see how it impacts HTML5 build size.
I built the same project on 3 different versions of Defold and took the results. Then I used third-party tools wasm-opt and terser to further reduce file sizes. I only tested WASM builds.
game.wasm binary
v1.7.0 | v1.7.1 | v1.8.0 | |
Unmodified | 2,074,983 bytes |
2,084,984 bytes |
2,086,129 bytes |
wasm-opt | 2,050,558 bytes | 2,082,368 bytes | 2,083,292 bytes |
wasm-opt
was run with these settings: --converge -O4 -O4 --gufa
There’s not much to observe about the wasm binary size. It’s pretty similar between versions, and even wasm-opt
doesn’t change the size much. I’d say it’s about as optimized as it can get with current tools.
game_wasm.js
v1.7.0 | v1.7.1 | v1.8.0 | |
Unmodified | 270KB | 240KB | 340KB |
minified by terser | 207KB | 185KB | 198KB |
Terser was run with these settings: { ecma: 2020, compress: { passes: 2 } }
The JS size regression between the unreleased 1.7.1 and 1.8.0 is likely due to two things:
- Unlike in previous versions, the output of game_wasm.js is no longer minified. Most of the bloat is just unstripped whitespace and longer variable names.
- Pull 8820 landed, re-adding polyfills for browsers that are about a decade old. (Firefox 34 was released on December 1, 2014)
Thanks to the devs who updated the emscripten version. I appreciate the work!
Thank you for this comparison.
I think it’s a bug. Thank you for highlighting it.
I compared versions with and without polyfills, and there was a ~10kb difference between builds (gzipped) before and after this PR. However, without this addition, the browsers where build worked fine using the old Emscripten (in 1.7.1) were broken in the new one.
We don’t want to break compatibility and add another “no-go” to the new version of Defold. Instead, we are considering adding custom options in the future (more likely for appmanifest) to be able to manually remove this support. You can follow the development on this issue here: Provide configurable option to control minimum suported browser versions · Issue #8774 · defold/defold · GitHub.
“I believe I have discovered a physics bug”
Does it work in 1.7.0 ?
I will give it a go and report back shortly.
Update: Happens in 1.7.0 See video
Ok, can you please create a ticket on GitHub and attach that test project?
Will do, thanks.