Hi everyone !
I'm working on this project since many month, and I'm near to the final release (all the engine is done, it remains for me to create the levels).
But I have some BIG performances' problems with my game running on Android.
I would like to ask you for your help. I'm looking for some guys to try my beta version and to report some particulars bugs I'm facing on my Android device. I would like first to know if you faces the same bugs, and to know the FPS rating on certains cases on your Android devices.
The main problem until now is that the game run very slowly on all the devices I have tested. On average, I have near to 100 processes actives at the same time, and the game is running on a very slow resolution (270x480 on portrait mode), but despite this, the FPS falls frequently under 35 (they should be at 50). All the devices I have tested are "recent" and powerful (Nexus 5, Galaxy S5, Redmi Note 3).
The other big problem is that when I kill the game using the Android task manager, 1 out of 10 times approximately the device become very very very very very slow. And the only way to leave this slow mode is to reboot the device.
I'm using the all last version of PixTudio (from Josebaga's BitBucket repo).
When you run the game, you can see two indicators : the FPS indicator at the bottom left, and the number of living processes at the bottom right (this indicator refreshes each two seconds).
(http://img11.hostingpics.net/pics/790535indicators.jpg)
What I would like you to do :
-First, give me your feedback about the game :) .
-Scroll the home page (with the levels "islands") up and down and tell me here if you experience a loss of FPS (don't forget to specify the number of processes).
-Play some levels and repport here if you experience a loss of FPS (don't forget to specify the number of processes).
-Launch the game and kill it with the Android task manager many times and repport here if your device become very very very very very slow after many tries (this bug come randomly, sometime it works well lots of time and comes suddenly).
-Tell me if the game take a lot of time to launch (on my device, I have a black screen while 10 seconds, I know why, this is because of the includes in my game. I have separated my program in a lot of prg. It's instantaneous on Windows but on Android the includes statements takes a lot of time to proceed).
Don't forget to specify your device's model. FIXED
If some of you have any idea to fix these bugs, don't hesitate to give your suggestions !
You can download the Beta RELEASE version here (APK) :
https://drive.google.com/file/d/0B99eW-PSp-P-SjQ1SW1VV0FLNVk/view?usp=sharing (https://drive.google.com/file/d/0B99eW-PSp-P-SjQ1SW1VV0FLNVk/view?usp=sharing)
Note : on this beta version, there are only 17 playables levels. The other levels (after 17) are empty.
I will be really happy if you take the time to perform these tests.
Thank you !
PS : special thanks to Josebaga for his really great work on PixTudio !
EDIT : the link to APK is now pointing on a release version.
debug in some cases is slow ... please try release version compile with pixtudio pack...
1. Not include in apk the source code (prg)..... open apk with winrar (in pixtudio pack dnt exists this error)
2. set_fps(70, 2); to improve fps set_fps(0, 0);
3. use release version not debug in APK..
pixtudio pack compile in release version... http://bennupack.blogspot.com.co/
4. to improve fps... delete sprites not show in screen
5. in consoles and devices .. memory leaks kills apps.. then .. re.use sprites not kill him(in some cases)..
6. study advance examples included in :
https://sourceforge.net/projects/coldev/files/bennugd2_Pixtudio/v1.2/examples%201.2.zip/download (https://sourceforge.net/projects/coldev/files/bennugd2_Pixtudio/v1.2/examples%201.2.zip/download)
black screen at the beginning...
isolate each part of your code, for example, the startup code, compile it aside, then test it on android, the code level selection do the same, something simple display the logo of the game and test it on android to identify where the error,
Thank you l1nk3rn3l for your reply.Quote from: l1nk3rn3l on May 27, 2016, 03:36:55 AM
debug in some cases is slow ... please try release version compile with pixtudio pack...
1. Not include in apk the source code (prg)..... open apk with winrar (in pixtudio pack dnt exists this error)
Ok, I've removed the prg files. I will update the APK link. Thank you.Quote from: l1nk3rn3l on May 27, 2016, 03:36:55 AM
2. set_fps(70, 2); to improve fps set_fps(0, 0);
I don't understand why I should set my FPS to 70 and set skip frame as 2 ? If I run my game with set_fps(0, 0), the frame rate remain the same, I face the same FPS problem as before.I can gain a bit of FPS if I use set_fps(50, 2) but it's because of the frame skipping, but I don't realy want to fix this performance problem by skipping the FPS. I think the game should be fluent with my low process number and my low resolution.Quote from: l1nk3rn3l on May 27, 2016, 03:36:55 AM
3. use release version not debug in APK..
pixtudio pack compile in release version... http://bennupack.blogspot.com.co/ (http://bennupack.blogspot.com.co/)
I tried with a signed release APK but there is no change.Quote from: l1nk3rn3l on May 27, 2016, 03:36:55 AM
4. to improve fps... delete sprites not show in screen
What do you mean by delete the sprites ? Do you mean to kill the processes that are not on the screen ? It's allready the case. All my processes are only living when they are on the screen. On the home screen, the "islands" are only created when their positions should be on the screen.Quote from: l1nk3rn3l on May 27, 2016, 03:36:55 AM
5. in consoles and devices .. memory leaks kills apps.. then .. re.use sprites not kill him(in some cases)..
In my case, the app is not killed by memory leaks. This lag problem occure only when you kill the app by yourself using the Android task manager. I never faced any crashes due to memory leaks on my app.Quote from: l1nk3rn3l on May 27, 2016, 03:36:55 AM
6. study advance examples included in :
https://sourceforge.net/projects/coldev/files/bennugd2_Pixtudio/v1.2/examples%201.2.zip/download (https://sourceforge.net/projects/coldev/files/bennugd2_Pixtudio/v1.2/examples%201.2.zip/download)
I will take a look at these examples. Do you suggests me to look at something in particular ?Quote from: l1nk3rn3l on May 27, 2016, 03:36:55 AM
black screen at the beginning...
isolate each part of your code, for example, the startup code, compile it aside, then test it on android, the code level selection do the same, something simple display the logo of the game and test it on android to identify where the error,
Yes, as I said on the first post, I succeed to find from where the black screen comes. It comes from the includes parts (I have one include by level (50 levels right now but I plan to write 100 levels) and many other includes because my code is splitted in many prg). When I remove the levels includes, the black screen appear during only one or two secondes.
Hi Grew!
About the black screen... it might be related to the DCB size.
Also, are you compiling the PRG with -G? (debug mode)
Now I'll go try your game :)
Quote from: panreyes on May 27, 2016, 02:21:02 PM
Hi Grew!
About the black screen... it might be related to the DCB size.
Also, are you compiling the PRG with -G? (debug mode)
Now I'll go try your game :)
Hi Panreyes !
The size of the DCB is 4 525 Ko. It's not a lot I think.
I'm compiling the PRG without -G.
Thanks for your reply !
Errr... 4MB is really a lot xD
Explosive Dinosaurs, with 34 minigames, is about 2MB. And this game is REALLY big!
What info does pxtc return when compiling your PRG?
Quote from: panreyes on May 27, 2016, 02:36:28 PM
Errr... 4MB is really a lot xD
Explosive Dinosaurs, with 34 minigames, is about 2MB. And this game is REALLY big!
What info does pxtc return when compiling your PRG?
Here is the compilation output :
File main.dcb compiled (4633294 bytes):
Processes 368
Global data 4222136 bytes
Local data 312 bytes
Private data 22044 bytes
Public data 0 bytes
Code 182980 bytes
System processes 257
Globals vars 142
Locals vars 50
Private vars 935
Publics vars 0
Identifiers 1529
Structs 20
Strings 102 (923 bytes)
I can post the debug output if you want.
No need. I can see its 4MB all on global variables.
I'm wondering, what is the content of one of the level files?
Indeed there was a problem in my levels files! On each levels files, I declared an array with 999 as upperlimit.
My dcb file is now 529Ko.
The black screen at startup bug is fixed.
Thank you !!