Zippy1970 Posted August 13, 2018 Share Posted August 13, 2018 I've created a HTML5 2D canvas game and I'm now ready to take the step and convert it to a native Android (and iOS) app. The game works perfectly fine in any desktop or mobile browser. Animations are fast and smooth. After some research, I decided Cordova was the way to go to create native apps for Android and iOS. My first priority is Android, simply because I have an Android phone myself and I don't have a Mac (which apparently is required to build iOS apps). I have looked at Cocoon.io and although that might be an even better option than Cordova (since it's actually build on top of Cordova), the thing that made me run from it is the fact that it costs $500 just to remove the "build with Cocoon" splash screen... After installing all prerequisites (cordova, Android Studio, nodes.js) building my first APK was easy. When I ran my game in the Android emulator, the game was abysmally slow... Testing it on my device yielded the same slow results. After searching the internet, I figured it was because on some devices, an old and slow WebView is used by native apps to display HTML5 content. Still strange since my phone uses Android 7.0.0 and the emulator uses Android 8.0.0... I quickly found FastCanvas, a PhoneGap/Cordova plugin that adds a very fast canvas "compatible" rendering surface. But it was last updated in 2013 and after trying to get it to work for almost 16 hours straight, I came to the conclusion there's no way to get this to work with the current version of Cordova. I then found CrossWalk-WebView. This too was pretty old and a pain to get it to work with the current version of Cordova. And when I did get it to work, I quickly found out it created a few new problems making my game unplayable (noticeably a strange lag when touching the screen. Not the famous 300ms input lag, but after touching the screen, the entire game would freeze for 200ms-300ms). So I had to give up on Crosswalk as well. So now I am at a loss. Can anyone offer me suggestions on how to speed up canvas rendering in Cordova? It's pretty darn frustrating that my HTML5 game is finished and I'm ready for publication, only to find out that's not as easy everyone says it is... Quote Link to comment Share on other sites More sharing options...
Nishanth M Posted April 1, 2019 Share Posted April 1, 2019 I am also facing this same issue please intimate me did you fix this issue Quote Link to comment Share on other sites More sharing options...
mattstyles Posted April 11, 2019 Share Posted April 11, 2019 Have you tried profiler to see where the bottlenecks are? If you're testing on the same device, the only difference being the browser and a webview contained within a 'hollow' app then we could naturally assume not too much difference, not on modern devices anyway (I've done this a couple of times and never had a problem, but, on the inverse, I've never done anything to strain the device either so that experience is probably not too relevant here). My understanding was that CrossWalk was deprecated as newer (as in, a couple of years at least, I think) devices don't need it, they'll use the same webview that Chrome uses. I'm not an Android developer so maybe there are some magic settings somewhere but I doubt it, Android are pretty cool with cross-platform utilisation, its just that the crappy Android platform hasn't really been good enough to support it until lately. Shame that crosswalk deemed it necessary to take down all their stuff without any sort of redirection, a blog archive (and a redirection) in git would have been nice and would probably have helped here. Ho hum. Quote Link to comment Share on other sites More sharing options...
Diana_k Posted August 13, 2019 Share Posted August 13, 2019 Hi Zippy, Greetings! I have gone through your requirement of developing an Android app. I can assist you with your requirement as I have 5+ of experience in this field building apps. Would like to get in touch with you over my email id: [email protected] or on my skype id : live:diana_14674. Awaiting your reply. Kind Regards, Diana K Quote Link to comment Share on other sites More sharing options...
vsudakov Posted November 26, 2019 Share Posted November 26, 2019 I have also faced the same issue, it appears that chrome had issues with settimeout in crosswalk implementation and touch events (settimeout was delayed for the period of the touchstart), so I changed my main game loop from settimeout to use pixi ticker and now crosswalk view works without issues. Quote Link to comment Share on other sites More sharing options...
pdiddles03 Posted April 15, 2020 Share Posted April 15, 2020 On 11/26/2019 at 1:22 PM, vsudakov said: I have also faced the same issue, it appears that chrome had issues with settimeout in crosswalk implementation and touch events (settimeout was delayed for the period of the touchstart), so I changed my main game loop from settimeout to use pixi ticker and now crosswalk view works without issues. there is your issue. you should not be using settimeout for a game loop. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.