Defold 1.2.119 has been released

Defold 1.2.119

This release adds two new features to particlefx; an option to orient particles along their movement direction, and a keyable “stretch” property. The stretch can be set to according to the particle velocity or fully controlled with keys using the curve editor.

The release also includes some big optimizations when updating transforms for gameobjects and sprite components.
The performance gain is most notable on lower end devices but will also impact newer ones too: e.g. ~65% gain on iPhone 4S (5000 sprites) and ~15% for an iPhone 6 (14000 sprites). Measured using our defold-bunnymark test.

The sprite component now also uses indexed vertex buffers instead of triangle lists which makes better use of the GPU.

Engine

  • DEF-2047 - Added: Particle orient along movement direction, stretch by curved values or by velocity.
  • DEF-3069 - Fixed: Crash fix for tilegrid when no physics is used.
  • DEF-3058 - Fixed: Engine video recording not working.
  • DEF-3057 - Fixed: Refactor sprite component to use indexed vertex buffers instead of triangle lists.
  • DEF-3052 - Fixed: Optimized the Sprite update transform function.
  • DEF-3054 - Fixed: Bug when playing a spine animation backwards 3 times.
  • DEF-3051 - Fixed: Optimized dmGameObject + UpdateTransform calls.
  • DEF-3007 - Fixed: dmBuffer now implements an interleaved format.
15 Likes

EDIT:

After debugging with @Mathias_Westerdahl, we are no longer able to replicate the issue I described below. As far as I can tell, I can only assume it was some sort of temporary issue on my end! So with that said - apologies to everyone for the false alarm and for keeping you from what seems to be a very useful update! :smiley:

ORIGINAL:

This update has affected me adversely - so I am just wanting to sense check whether that’s my fault or possibly something of an issue in the update. (I wouldn’t be surprised if it’s the former!)

I’m developing an isometric-tiled game. Currently my structure is such that each tile is a gameobject with a sprite attached. In the previous release versions, this would run at ~30 fps when I had ~13000 gameobjects with sprites attached (the quantity of sprites is a stress test beyond what I expect in the final product). I was in the process of refactoring my code, so that sprites not on screen would be “disabled”. This improved things to ~55 fps prior to this update - which I found perfectly acceptable considering the large quantity of sprites.

I just updated to 1.2.119 and the game now runs at ~5 fps (using my latest, more optimised, code). I am aware my structure is probably not ideal, but it is odd to me that things would become significantly slower to this extent.

I would appreciate anybody’s input on:

  1. Whether or not this is something “wrong” with the release or if this is just my reality now and I have to completely rethink my game’s structure; and
  2. If my structure is wrong, what a better solution would be for my situation.

Thank you in advance!

2 Likes

Hmm, I think this is a case where the optimisations were too aggressive, and impacted projects such as yours.
If so, I will rollback that change.

Would you mind sharing your project with me, and I could make sure this is the case? (mathias.westerdahl@king.com)

EDIT: And what platform are you on?

Done - I have added you to the team. The code for spawning and enabling/disabling tiles is located in maps -> map_spawner.script. I am developing for Windows/Mac.

I hope I wouldn’t be preventing something being deployed that would be useful for other people. Perhaps it could be an option in game.project? In any case, I do appreciate you having a look at my project to see if it’s sensible to do it my way.

2 Likes

My editor 2 does not updated. I downloaded fresh copy from dashboard but it is also version 1.2.118.

No, we’ve paused this update until I’ve determined the cause of the reported performance degradation.

9 Likes

hmmm… somehow Defold still does not autoupdate to 119 for me. And @Alex_8BitSkull looks happy about the update now =]

2 Likes

Yes, @Erik_Angelin or @mats.gisselson will update Editor 2 today.

2 Likes

Done, sorry for the delay.

3 Likes

What about performance issue?

We couldn’t reproduce it. We think it was an issue with the user’s computer/setup, since he couldn’t reproduce it either. So, we’re went ahead with the release :slight_smile:

6 Likes

Could I get the example project you made for testing particle velocity stretching?