We’ve done a bit of work related to the font rendering. There’s now a new render mode property in the font that dictate how fonts should be rendered. Currently, there’s only two modes available - Single Layer and Multi Layer that either renders the text on a single quad or on separate quads per character. This means that things like drop shadow and large outlines can easily be achieved.
The default builtin font shaders have been updated to support this new functionality, so please update your custom shaders if you want to access this new feature.
iOS custom entitlements
It is now possible to add custom entitlements to your project which will be used in signing the ipa during bundling. Any custom entitlements must be defined with wildcard values in your provisioning profile as well (https://www.defold.com/manuals/project-settings/#_ios).
Hot Reload
Hot reload now does better dependency tracking. Hot reloading a resource now reloads dependant resources as well. We’ve also fixed the hotloading of atlases in Editor 2.
Engine
DEF-3521 - Added : Added updated font materials that correctly generates an offset font shadow
DEF-3611 - Added : Added shadow support to distance field fonts
DEF-3603 - Added : iOS custom entitlements
DEF-3564 - Fixed : Fixed crash reporting on 64 bit Android.
DEF-3642 - Fixed : Fixed documentation name for sys.SYSFIELD_MANUFACTURER
DEF-3671 - Fixed : Fixed issue of web profiler showing “undefined”
DEF-3676 - Fixed : Http client truncated header data in some cases
DEF-3534 - Fixed : Hot reload of atlases now work in Editor 2
Editor
DEFEDIT-1200 - Fixed : Faster undo on large projects
DEFEDIT-1497 - Fixed : Don’t block UI while building native extensions
DEFEDIT-1491 - Fixed : Don’t delete files with changed capitalization on sync
DEFEDIT-1498 - Fixed : ConcurrentModificationException when closing multiple tabs
DEFEDIT-1503 - Fixed : Debugger handles non-unique __tostring and gui nodes from other scene
DEFEDIT-1494 - Fixed : IllegalArgumentException after zooming with apple mouse in scene view
DEFEDIT-1500 - Fixed : Missing referenced .go or .collection prevents project from loading
Did more tests, the extra collections are not the cause. It’s possibly either fmod or discordrich NEs that are causing slowdown in debug builds only on Windows. Still need to do some more tests to rule out either…
Edit: Got slowdown with debug version without these NEs and without the extra collections. It’s kind of random so hard to test.
It also only happens on one computer so must be some unique issue on it.
44ms on one computer.
181-239ms on the bad one sometimes randomly otherwise runs well and in release runs well. Like sometimes running build it’s fine other times it’s laggy.
Look at where the frame time is spent. From the image it looks like a lot of time is spent in gui update as well as running scripts and to some extent dispatching messages and input. I don’t know anything about the game, but that information might narrow down where the issue is.
Yeah, from the profiler sample shown there is a lot of slow-down happening in one of your on_input() (GameObject.DispatchInput) functions as well as most likely update() (Gameobject.Scriptc). Do you run some native extension code or do you have some super expensive computations in those functions?
Nothing expensive - something we tried was to make it so a flag would enable to return true at the top of the on_input and update if flag was on to see if disabling it completely would help with a slow debug build but didn’t help. Could just be the CPU of the computer somehow but we’ll keep testing.