Guide: Fix Jank in r190+ Node-Webkit Export

0 favourites
From the Asset Store
You can become a REAL game developer. Learn the basics and get resources that will let you get profits from your game!
  • Prominent

    I'm 99% sure that the same approach would work with the mac and linux exporters. Basically, delete the contents of the new mac32 or linux32 folders, copy in the files from the old. There are no 'old' 64bit exporters, as chromium 35 didn't have a 64bit version.

    I can't test on mac, and I haven't tried yet on linux, so if either one works, please let us know.

    Be aware that node-webkit on linux is still suffering from a missing dependency on newer versions of linux. My understanding is that this problem will be around for awhile yet. See here for more details:

    https://github.com/rogerwang/node-webki ... budev.so.0

  • TiAm , that seems a bit outside my understanding. I guess I'll have to wait to release on those platforms.. Or just release the jittery versions and update them later when things are fixed.

    I don't know what files to replace. Would it work if I reinstalled the old version of construct that used the 10.5 node, and then copy those.. then reinstall the new construct2, and then paste over them? Or are there specific files I need?

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • Prominent

    Just look at my original post. All you would be doing is copying the mac files instead of the ones for windows.

  • TiAm , alright, I replaced the osx32 files, and I had a friend test it on his mac. It worked for him, so I assume it was successful!..

    I still have to find someone to test the linux version.. but the issue about the missing dependency for newer versions of linux is worrisome as I'm not sure how to create that shell wrapper thing- if that can be done in windows, or if I need linux to do that?.. if I release on linux, would that be required?

  • Prominent

    You cannot release for Linux until the dependency on the obsolete library is fixed in newer NW versions. If you want to, you have to follow their tweak to fix the problem.

    Currently, the export as is without the fix, is broken on many Linux OS and has been broken for a LONG time now.

  • Alright, thanks for the help guys..

    I managed to get it running on windows/osx/linux with node-webkit 10.5

    I used Hexedit to change the 0 to a 1, allowing it to run on newer distributions of linux.

    At this point, I am prepared to release the game, but will spend a little time seeing if I can polish anything else or improve anything that could use improving.

  • Would you be kind enough to write a little "how to" thread so we all know how to export for linux? That would be a fantastic christmas gift : )

  • Aurel , I'll write one based upon what I understand, which probably isn't much, but it might be useful to some who are a bit hesitant/unsure about it. Give me a few moments to write something up.

    edit: alright, here is a link to the thread describing what I did.. https://www.scirra.com/forum/my-process-for-exporting-to-windows-osx-linux_t121514

  • Been following the numerous threads on this whole chrome stutter thing.

    Since we target Windows 8 we use IE for all testing.

    Now due to the holiday break I decided to run one of our games in Chrome, and - the stuttering, whaattt!!! - Chrome is completely broken.

    The fact that this has been going on for months now, and still hasn't been addressed by the big guns does not (IMO) bode well for our chosen dev tool - C2.

    Either Google don't care, can't fix it, or the problem lies only with C2 builds - either way it leave all Devs in this circle in a precarious position.

    Sadly since Node depends on Chrome, export to desktop is also flawed.

    This is a crying shame, give the brilliant work-flo of C2, and its very quick update cycle, only to be ruined by third party requirements.

    This could be the first time in history, where you have to display a banner in your game that reads: "You are running your game in Chrome. Please note that this game requires IE for smooth performance!"

  • Like you, plenty of other people have noticed this problem and have reported it to Google as well. It does beg some serious questions about the risks of being totally reliant on unpaid 3rd parties for the quality of your work... The bug report here has been progressing slowly.

  • michael

    Chrome is the dominant browsers, for Win 7/8, so its the goto browser for testing for most of us. This isn't a C2 problem but... it is a C2 problem in the end, because we rely on these end tools to export.

    HTML5 is designed for the web, fine, we get that, but this situation is critical because the web (Chrome & Firefox being the bulk) currently is broken for HTML5 games.

    So atm, here's the export options:

    Chrome Store = can't use WebStorage, no functional IAP system. /seppuku

    Firefox Market = forget about it, performance is horrendous and stutters like mad.

    Direct HTML5 for browsers = If they are on recent Chrome or Firefox, its unplayable due to stutters.

    Android = wrappers rely on Chromium, its also affected by the stutter bug. Crosswalk is also plagued with security flaws that flag your app to be removed by Google. You just hope players don't mind the stutters. Maybe its on mobiles so they aren't as hardcore as PC gamers are about such things... :/

    iOS = CJS WebView+ which uses WKWebView, great when it works, but its got a major flaw of losing save data to iOS8's auto-clean process when devices run low on storage. O_o

    Finally, direct PC/MAC/Linux export: Use an older NW else risk the stutters. Sadly Linux is still broken due to NW not updating library dependency. Looks like PC/MAC with NW 10.5 is the only viable option, even-though its not optimal (Steam Overlay, Cloud Save?)..

  • There's nothing unsolvable here, we should see improve through 2015 and beyond

  • Browsers are going to keep breaking from here to forever. What gets me is Ashley updating to a version of node that had severe, obvious problems. And sticking with it for no apparent reason (It has 64bit export! More bits!).

    It's easy enough to swap, but we shouldn't have to bother. I've said it before: C2 ought to commit to maintaining compatibility with the last 2 or 3 versions of node-webkit.

    Intel XDK, for example, allows you to export with stable, beta, and alpha versions (all based on different versions of chromium). IIRC, you can also choose to export using older stable versions. Bottom line: you have a choice.

    It's worth saying that chrome 39, the current stable, isn't bad. It's not completely smooth, but it's not as inconsistent as Canary, which, in its defense, is an alpha release.

  • Chrome is the dominant browsers, for Win 7/8, so its the goto browser for testing for most of us.

    True indeed, but given the size of Google and the resources at its disposal you can't help but ask why this ongoing issue has not been solved already, options:

      Can't fix it Don't care - the fix can wait till google is ready HTML5 is not ready for serious workloads - like games

    This isn't a C2 problem but... it is a C2 problem in the end, because we rely on these end tools to export.

    Not a C2 problem, but a C2 flaw, because it is 100% reliant on third parties who simply aren't concerned enough to give priority to the bugs they introduce.

    HTML5 is designed for the web, fine, we get that, but this situation is critical because the web (Chrome & Firefox being the bulk) currently is broken for HTML5 games.

    Sadly this problem is inherent to the web. Browser wars, inconsistencies, and unfixed bugs, have always been the way of the web. It is not likely to ever improve....

    So atm, here's the export options:....

    The way I see it, the only export option right now is Win8. All the other options are broken.

    szymek

    There's nothing unsolvable here, we should see improve through 2015 and beyond

    Now that does sound familiar....

    Saddest part:

    Construct 2 is easily the best 2D game dev tool around (imo) - excellent work flow, frequent updates, prompt bug fixes, new features continually added.

    But it constantly gets broken for the most part - if you want the world to play your game - by third party dependencies!!!

    This kind of thing is always going to be an issue, has been in the past, is right now, and will again be in the future.

    The only option we have, each time the other party creates a bug, is to wait for the other party to fix the problem...

    Of course in the meantime you cop the 'what a crappy game' from the would-be player\customer - well that is good for business...

  • "Can't fix it

    Don't care - the fix can wait till google is ready

    HTML5 is not ready for serious workloads - like games"

    We all know that 2 is the anwser, they broke it so they can fix it, and html5 before that went really great for gaming, however that is getting ridiculous at this point, it is not like they think of chrome as a simple browser, how could that kind of things go into the stable channel, the nice part is that there does not seems to be a way for us to fix it (so nobody will simply workaround that).

    I know the situation will get better, and as a non-wrapper and non-profit user it really does not matter for me what happens to node-webkit or crosswalk, but that makes me wonder about who is really trying to do what, like it is not the first time the chromium takes décisions that bothers everyone (the XP and Vista dropped support, sure XP is not backed up by microsoft anymore, but Vista I am not sure.), however the fact is: if firefox got broken, or even opera, the situation would not be as bad, that is plain stupid, we should not have to rely on how one browser is performing, how did that happen?

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)