Bug Issue: List of issues when upgrading from 3.4.0 (Build 9300) to 3.5.0 (Build 9975) ...


Pages: 1 2

Vorens Studios

  • Junior Stencyler
August 22, 2018, 05:45:50 am
Recently upgraded from 3.4.0 (Build 9300) to 3.5.0 (Build 9975) and found these problems while testing on Android devices:

  • Most annoying issue that appeared in 3.5.0 is low framerate. Example: Scene is using 6 tile layers and 6 background layers and when the scene is completely empty, framerate is at 60 FPS. If I add just one tile from tileset, framerate will drop to ~30 FPS. I removed that tile and tested it again with multiple actors on screen with different physics and the framerate remained at 60 FPS. I also noticed if the actor was moving or there was some kind of motion (setting x or y speed), it will drop back to ~30 FPS.
    Another instance with low framerate that I noticed is within "When Drawing" event. I have multiple blocks of draw text that use y value from number attribute that is changing (change Y to -1000 over 60 sec using None). Example: 1st draw text has y value set to Y + 20, another one to Y + 30, etc. Scene has around 30 draw text blocks and only use 2 layers but the framerate still drops to ~20 FPS.
  • Preloader loading bar is always showing on game startup for a couple of seconds and it appears to be empty (not moving). This was not the case on version 3.4.0 as it went straight to the first scene without showing it.
  • Another issue I noticed were choppy transitions between different scenes. I'm not sure if this is related to the 1st issue, but I know that this didn't happen on 3.4.0.

I will provide more information if necessary.



New attachment added by Vorens Studios - September 11, 2018, 01:57:16 pm


Vorens Studios

  • Junior Stencyler
September 11, 2018, 01:57:33 pm
I attached game file and APK file from test game to show you the issues. Each scene has attached comments with described issues.
FPS Monitor is enabled to see the impact of certain issues.

APK file: Download (Size too big for attachment)

Thank you,
Jani


Justin

  • Master Stencyler
  • *
September 18, 2018, 01:24:38 am
#2 should be fixed in b9989.


rob1221

  • Master Stencyler
  • *
January 18, 2019, 10:42:51 am
I know drawing performance isn't as good as 3.4 but I'm not seeing the huge FPS drops you're getting in any of the four test scenes, and my device isn't even close to high end (LG Optimus Fuel).  Have you tested on multiple devices?
  • Status changed from New to Need Info


Vorens Studios

  • Junior Stencyler
February 11, 2019, 08:19:20 am
Thank you for your replies.

I upgraded to version 4.0 and tested it again.
Here are the results:

Motorola Moto G6 Plus (2018)
Snapdragon 630, 4GB RAM, 2160x1080

Scene 1. When the text is moving, the framerate drops to around 16 FPS. Once the timer stops, the framerate is back at 60 FPS.
Scene 2. Appears to be fixed. Solid 60 FPS.
Scene 3. 60 FPS when the actor is not moving. Once it starts to move the framerate drops to around  55 FPS. Again, when it stops, it jumps back to 60 FPS.
Scene 4. With 10 background layers + single tile I get around 51 FPS, with 9 layers I get around 57 FPS, with 8 layers I get around 59 FPS, with 7 layers I get around 59 FPS, with 6 layers I get around 59 FPS and with 5 layers I get around 59 FPS.


Motorola Moto G4 (2016)
Snapdragon 617, 2GB RAM, 1920x1080

Scene 1. When the text is moving, the framerate drops to around 22 FPS. Once the timer stops, the framerate is back at 60 FPS.
Scene 2. Appears to be fixed. Solid 60 FPS.
Scene 3. 60 FPS when the actor is not moving. Once it starts to move the framerate drops to around  25 FPS. Again, when it stops, it jumps back to 60 FPS.
Scene 4. With 10 background layers + single tile I get around 24 FPS, with 9 layers I get around 27 FPS, with 8 layers I get around 31 FPS, with 7 layers I get around 33 FPS, with 6 layers I get around 39 FPS and with 5 layers I get around 52 FPS.


Motorola Moto G4 Play (2016)
Snapdragon 410, 2GB RAM, 1280x720

Scene 1. When the text is moving, the framerate drops to around 32 FPS. Once the timer stops, the framerate is back at 60 FPS.
Scene 2. Appears to be fixed. Solid 60 FPS.
Scene 3. 60 FPS when the actor is not moving. Once it starts to move the framerate drops to around  17 FPS. Again, when it stops, it jumps back to 60 FPS.
Scene 4. With 10 background layers + single tile I get around 16 FPS, with 9 layers I get around 18 FPS, with 8 layers I get around 20 FPS, with 7 layers I get around 32 FPS, with 6 layers I get around 25 FPS and with 5 layers I get around 30 FPS.


Motorola Moto X (2nd Gen) (2014)
Snapdragon 801, 2GB RAM, 1920x1080

Scene 1. When the text is moving, the framerate drops to around 47 FPS. Once the timer stops, the framerate is back at 60 FPS.
Scene 2. Appears to be fixed. Solid 60 FPS.
Scene 3. 60 FPS when the actor is not moving. Once it starts to move the framerate drops to around  59 FPS. Again, when it stops, it jumps back to 60 FPS.
Scene 4. With 10 background layers + single tile I get around 59 FPS, with 9 layers I get around 59 FPS, with 8 layers I get around 59 FPS, with 7 layers I get around 59 FPS, with 6 layers I get around 59 FPS and with 5 layers I get around 59 FPS.


Motorola Moto G (2014)
Snapdragon 400, 1GB RAM, 1280x720

Scene 1. When the text is moving, the framerate drops to around 28 FPS. Once the timer stops, the framerate is back at 60 FPS.
Scene 2. Appears to be fixed. Solid 60 FPS.
Scene 3. 60 FPS when the actor is not moving. Once it starts to move the framerate drops to around  25 FPS. Again, when it stops, it jumps back to 60 FPS.
Scene 4. With 10 background layers + single tile I get around 23 FPS, with 9 layers I get around 26 FPS, with 8 layers I get around 30 FPS, with 7 layers I get around 36 FPS, with 6 layers I get around 44 FPS and with 5 layers I get around 56 FPS.


Sony Ericsson Live with Walkman (2011)
Snapdragon S2, 512MB RAM, 480x320

I can't get it to work. Black screen on startup.

Like I said in early posts, the version 3.4.0 worked without any issues (60 FPS on all devices).
This was just a simple test project, in the actual game the framerate is even lower.


rob1221

  • Master Stencyler
  • *
February 11, 2019, 09:07:04 am
I wonder if scene 3 is also a layer-related issue.  If you test that scene with only a single tile layer, does the FPS still drop a lot when the actor moves?


Vorens Studios

  • Junior Stencyler
February 11, 2019, 01:01:10 pm
I wonder if scene 3 is also a layer-related issue.  If you test that scene with only a single tile layer, does the FPS still drop a lot when the actor moves?

I tested it again with only 1 tile layer on Motorola Moto G, Motorola Moto G4, and Motorola Moto G6 Plus and got solid 59-60 FPS across all devices.


rob1221

  • Master Stencyler
  • *
February 11, 2019, 01:27:07 pm
So it is layer-related then.  Maybe OpenFL changed something that made multiple layer performance worse, but I have no idea.
  • Status changed from Need Info to New


Vorens Studios

  • Junior Stencyler
February 11, 2019, 02:10:03 pm
So it is layer-related then.  Maybe OpenFL changed something that made multiple layer performance worse, but I have no idea.

Any idea what to do next? I found a couple of performance reports on OpenFL forum but those were from early versions.

LINK 1
LINK 2
LINK 3

What version of OpenFL does Stencyl currently use?


rob1221

  • Master Stencyler
  • *
February 11, 2019, 03:02:19 pm
Quote
What version of OpenFL does Stencyl currently use?
8.7.0


rob1221

  • Master Stencyler
  • *
February 13, 2019, 12:40:32 pm
If you test scene 3 or 4 with only tile layers or only background layers (keeping total layer count the same), which layer type has more of a performance impact, and by how much?

I wish I could test this stuff myself but even if I add a few more of each layer type I don't get FPS drops.


Vorens Studios

  • Junior Stencyler
February 15, 2019, 01:10:52 am
If you test scene 3 or 4 with only tile layers or only background layers (keeping total layer count the same), which layer type has more of a performance impact, and by how much?

I wish I could test this stuff myself but even if I add a few more of each layer type I don't get FPS drops.
I've got interesting results. It appears that only background layers are causing framerate issues.

Using tile layers (10 layers total)

Motorola Moto G6 Plus (2018)
59-60 FPS in both scenes.

Motorola Moto G4 (2016)
58-59 FPS in both scenes.

Motorola Moto G (2014)
Solid 60 FPS in both scenes.

Using backround layers + 1 tile layer (10 layers total)

Motorola Moto G6 Plus (2018)
40 FPS in scene 3. In scene 4 with 9 background layers + 1 tile layer (10 layers total) I get around 40 FPS, with 9 layers I get around 44 FPS, with 8 layers I get around 49 FPS, with 7 layers I get around 56 FPS, with 6 layers I get around 58 FPS and with 5 layers I get around 59 FPS.

Motorola Moto G4 (2016)
18 FPS in scene 3. In scene 4 with 9 background layers + 1 tile layer (10 layers total) I get around 18 FPS, with 9 layers I get around 20 FPS, with 8 layers I get around 23 FPS, with 7 layers I get around 25 FPS, with 6 layers I get around 29 FPS and with 5 layers I get around 29 FPS.

Motorola Moto G (2014)
18 FPS in scene 3.  In scene 4 with 9 background layers + 1 tile layer (10 layers total) I get around 18 FPS, with 9 layers I get around 20 FPS, with 8 layers I get around 22 FPS, with 7 layers I get around 25 FPS, with 6 layers I get around 28 FPS and with 5 layers I get around 33 FPS.


rob1221

  • Master Stencyler
  • *
February 15, 2019, 06:05:22 am
Could you try this updated file attached and see if it improves performance at all?  Replace the existing one in plaf/haxe/lib/stencyl/1,00/com/stencyl/models/scene/
  • Status changed from New to Need Info
« Last Edit: February 15, 2019, 06:06:10 am by rob1221 »


New attachment added by rob1221 - February 15, 2019, 06:05:41 am


Vorens Studios

  • Junior Stencyler
February 15, 2019, 07:01:03 am
Could you try this updated file attached and see if it improves performance at all?  Replace the existing one in plaf/haxe/lib/stencyl/1,00/com/stencyl/models/scene/

Unfortunately, it did not work. Same results as before across all devices.


rob1221

  • Master Stencyler
  • *
February 15, 2019, 07:06:04 am
Perhaps it's due to having multiple backgrounds below the moving actor?  If you change the background to non-repeated, does that have much better performance?


Vorens Studios

  • Junior Stencyler
February 15, 2019, 08:49:46 am
Perhaps it's due to having multiple backgrounds below the moving actor?  If you change the background to non-repeated, does that have much better performance?

I disabled repeat background function and the FPS increased.

On Motorola Moto G6 Plus (2018) the framerate is at 59 FPS in both scenes.

On Motorola Moto G4 (2016) the framerate is at 58-59 FPS in both scenes.

On Motorola Moto G (2014) the framerate is at solid 60 FPS in both scenes.


rob1221

  • Master Stencyler
  • *
February 15, 2019, 10:53:46 am
Maybe the cause is having multiple screen-sized bitmaps, which includes repeating backgrounds.  Try making an alternative non-repeating background with a 480x320 image at 1x.  If the performance impact is primarily caused by the image size then the FPS should be similar to the repeated background tests.


Vorens Studios

  • Junior Stencyler
February 15, 2019, 01:39:07 pm
Maybe the cause is having multiple screen-sized bitmaps, which includes repeating backgrounds.  Try making an alternative non-repeating background with a 480x320 image at 1x.  If the performance impact is primarily caused by the image size then the FPS should be similar to the repeated background tests.
I added a new single color background (480x320 - x1) and the performance seems to be worse again. It appears that the size of the background layer affects it.

Motorola Moto G6 Plus (2018)
52 FPS in scene 3. In scene 4 with 9 background layers + 1 tile layer (10 layers total) I get around 51 FPS, with 9 layers I get around 56 FPS, with 8 layers I get around 59 FPS, with 7 layers I get around 59 FPS, with 6 layers I get around 59 FPS and with 5 layers I get around 59 FPS.

Motorola Moto G4 (2016)
21 FPS in scene 3. In scene 4 with 9 background layers + 1 tile layer (10 layers total) I get around 21 FPS, with 9 layers I get around 23 FPS, with 8 layers I get around 25 FPS, with 7 layers I get around 28 FPS, with 6 layers I get around 31 FPS and with 5 layers I get around 36 FPS.

Motorola Moto G (2014)
21 FPS in scene 3.  In scene 4 with 9 background layers + 1 tile layer (10 layers total) I get around 20 FPS, with 9 layers I get around 22 FPS, with 8 layers I get around 24 FPS, with 7 layers I get around 28 FPS, with 6 layers I get around 32 FPS and with 5 layers I get around 37 FPS.


rob1221

  • Master Stencyler
  • *
February 15, 2019, 01:56:31 pm
So the performance hit is caused by large overlapping images.  On your devices that use 3x graphics they would be over a million pixels each.  Depending on what you're doing in your game you might be able to improve performance without impacting appearance much.  For example, if your backgrounds do not move relative to each other, you can combine them into a single image outside of Stencyl and just have one layer for that image.   Using actors as background could also work if the backgrounds don't need to repeat or aren't a large detailed image.

I don't know if OpenFL made performance for large images worse but if they did, that isn't something that can be fixed on Stencyl's end.
  • Status changed from Need Info to New
« Last Edit: February 15, 2019, 01:57:15 pm by rob1221 »


Pages: 1 2

Details

  • Reported
    August 22, 2018, 05:45:50 am
  • Updated
    May 13, 2019, 11:35:38 pm

  • View Status
    Public
  • Type
    Bug
  • Status
    New
  • Priority
    Normal
  • Version
    Stencyl 3.5
  • Fixed in
    (none)
  • Assigned to
    (none)
  • Category
    Compiling/Testing Games

Tags


Attachments

* Issues on Android.stencyl (1048.87 kB - downloaded 55 times.)
* ScrollingBitmap.hx (4.3 kB - downloaded 39 times.)