Defold 1.8.0 Beta

maybe its related #5446 #5411

@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.

4 Likes

tested with bob.jar & editor export
can confirm that both variants wasm and asm.js are working :white_check_mark:

thank you @ekharkunov !

5 Likes

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).

1 Like

I’ve updated the release notes with the fix for the Linux + Vulkan build.

1 Like

erm, not :thinking:

now with --build-server="https://build-stage.defold.com/" bob.jar is working like a charm
thank you @Mathias_Westerdahl

5 Likes

It doesn’t work for me, I understand it’s beta version (1.8.0 (76c4e52)… :face_with_monocle:

OS: Linux kernel 6.5.0
PG: Wayland

File created in previous version :point_down:

Simple Scene :point_down:

This process freezes :point_down:

If I finish this process it’s like a loop (It’s the same) :confused:

version 1.7.0 :point_down:

yep, this is a bug that can be avoided by removing profiler from the build with appmanifest

  1. please note that instance of dmengine is running (pkill it within htop)
  2. add appmanifest and exclude “profiler”
  3. link it at game.project at “native extention”
  4. save + buld it

image

2 Likes

Thank you for your help!. :+1:

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? :thinking:

1 Like

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 :+1:

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.

1 Like

can confirm that linux :ok:
build ..a90334

2 Likes

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!

3 Likes

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.

4 Likes

“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.