Most of the time games should run fine with the normal Cordova export. Poor performance is usually caused by a small number of devices that have buggy or broken graphics drivers that force the device to drop down to software rendering. There's not a lot that can be done about it, it's because the device has poor support for native OpenGL.
Ashley It seems the performance issues are not small number of devices, it looks like it is most lower end or mid-range phones. — said he has performance issue on Nokia 6.1 Plus. This phone was released around 1 month ago. Could it be that only phone with Snapdragon 800+ have acceptable performance? Even the most basic games stutter horribly on mid-range phone.
Modern web tech is very good and nobody should have any good reasons not to rely on it, but if there are still issues, let's focus on fixing them instead of resorting to the next round of crazy hacks that will inevitably fail in some other way later down the line.
I have took your advice and reported the issues to Google. I specifically mentioned that Chome has good performance but Webview is not as good. Here is the bug report: bugs.chromium.org/p/chromium/issues/detail
They closed it as ‘WontFix’ and stated the following in that bug report:
“Tried on a samsung galaxy tab 4 10.1. Looks like the whole thing is swap bound. Each eglSwapBuffers is taking close to 15ms already, which is most of the frame budget already. The problem is not as severe on chrome because chrome owns the surface its drawing into and has entire control over scheduling GPU work. Webview doesn't have that luxury, and there is nothing webview can do here.”
Using the system default webview is by far the best solution and the goal should be to ensure that works robustly for everyone. Relying on hacky workarounds generally brings its own set of problems - often worse problems - and after long enough those hacks themselves break down, which I think people are discovering yet again.
If default Webview is by far the best solution, workarounds are not feasible and Google acknowledged that the performance is bad and will not fix the problem, then what options do we have?
Crosswalk is no longer an option, Cocoons Webview+ is also not an option. If a month old phone has performance that is bad and google will not do anything about it and says “there is nothing webview can do here”, than this problem will continue indefinitely. What can we do?