Hi Guys,
We are very actively trying to port our Gideros apps for windows phone (as I said in other posts)
So we compiled them and ran then on the windows phone.
I have the latest "Blu" (Snapdragon 200 - Quad core - 1.2 GHz - A7) as a test device. Has the same resolution as iPhone 6.
All our apps are slow.
One is very slow and almost unplayable (even the main menu - not too many sprites, no physics)
(Compiled app or Gideros Windows phone player - no difference - same slowness)
Before you say "garbage collect, memory, variables, etc." - it is 100% NOT that :-)
Looks like having big textures (like background layers) kills the thing.
Also having more than 50-60 sprites also slows down the game.
Two of the apps have 3 BG layers - big textures. One has two BG layers.
If I remove them - the app plays normally on windows phone(if there are not too many sprites).
I haven't noticed such slowness on iOS and Android devices unless they are very old.
At first I thought that the latest "Blu" is just slow (since it is cheap), but I downloaded several games with many sprites and backgrounds and they do not appear slow.
Any tips?
P.S.
For reference (in case you are interested) the apps are:
* "Pin Peg" - 3 BG layers/parts
* "Phyzzlets" - 3 BG layers (main menu has 2 layers and big buttons)
* "Air Ping Pong" - 2 layers (BG and pipes/table) (Called "Air ping pong Saga" on the Apple Store)
All apps are available on both Apple Store and Google play
Comments
It doesn't have to use your game gfx, any gfx will do as long as the problem can be demonstrated.
https://deluxepixel.com
Likes: SinisterSoft
Not very elegant since I put it together for 5 min using Gideros Jumping balls example.
Play at the same time to a windows phone and another player (say Windows desktop or iPhone 6) - you will see the slowness immediately by monitoring/comparing the speed of the wheel and the balls.
Note 1: The project has bigger and smaller textures (see beginning of main.lua to change). Since Blu is not very high resolution our app chooses to use the smaller textures, but it is still slow.
Note 2: tap to add more balls
Hope that helps.
Vlad
https://github.com/gideros/gideros
https://www.youtube.com/c/JohnBlackburn1975
https://github.com/gideros/gideros
https://www.youtube.com/c/JohnBlackburn1975
I tried with -60. The apps become jumpy and you miss some of the action...
Is there a recommended maximum texture size that can be processed relatively smoothly on slower devices?
Making the textures smaller will reduce the quality of the graphics and will only partially solve the slowness caused by too many sprites, but at least will make the game more playable.
Also is there a way to print the real FPS on the phone player?
P.S.
Just wanted to say: Thank you guys for taking the time to help us with all our problems! I know that the money we collected at the Kickstarter does not cover that. Thanks a lot! You are the best! ^:)^
If this speeds things up for yo then please let us know.
https://deluxepixel.com
I will try that, but what do you mean the size is power of 2 if the texture is not square? Width is power of 2 and height is a power of 2(like 1024x512, 64x256, etc.)?
In that case I will need even bigger images to support high res devices...
By the way: I tried with filtered and unfiltered textures - no much difference.
Should I try tile map for background image instead of just a big texture bitmap. Do you think this would help?
Attached is a new example.
Results(using power of 2 textures):
- Indeed it seems to improve speed if the textures are smaller or equal to 1024x1024.(main.lua in the example is with the smaller textures)
However if I add just 20 ball sprites(tap 3 times) - it slows down on windows phone (no physics).
- If the larger textures (2048x2048 & 1024x2048) are used (commented in main.lua) it is still slow.
Edit:
I wanted to run Windows Phone Application Analysis and post the CPU,FPS,etc, results here. But "Start Windows Phone Application Analysis" is disabled/grayed out. Is it enabled for you? I can only run the simple diagnostic tool that shows CPU that the app is using. Looks like it maxes out one of the CPU cores and does not really use the other 3...
https://deluxepixel.com
See attached image...
And one more thing: One of the apps does not have very large background layers, but gets slow with more than 50 sprites.
The time spent may not be actual processing time, in fact it is most probably wait time: Gideros waits for the GPU to be ready most of the time.
It would have been instructive to get GPU profiling, but VS diagnosis tools are not really good. Lets hope they will improve. Maybe we could find some sort of GPU benchmarking app to get some figures about performances ?
But as I said above, for me this tool is grayed out/disabled. I have no idea why that is. Is it enabled for you?
About the CPU:
I understand that Snapdragon 200 is a crappy processor, but many other games I downloaded do not show any slowness while processing hundreds of sprites, animations, effects, etc. That is the reason I started this thread in the first place. If all other apps were slow I wouldn't care.