Node-Webkit Jerkiness

  • Glad I'm not the only one with this issue. I don't think it's just jaggyness at play though, the framerate genuinly drops. I did some test on my game and a couple of events dependent on the framerate staying above 30 broke the game in the newest webkit.

  • As long as we get the option of being able to choose which version of NW we can export to then all will be well. Lunatrap, when I try my game in the new version of NW (and chrome 39 for that matter) it's like I took a step back in time and am trying to run my game on a microbook or some other completely inadequate hardware. There is a hacky fix (edit - fix is a bit strong, it's a work around) involving replacing the package.nw, but I suspect that Ashley will have sorted this out before long.

    Edit - actually Chrome Canary is worse than the old NW. By a country mile....

  • I've been looking into this and I think the best option for now is to stay with r184. r184 and the bundled node-web kit works really well for me and I can't risk introducing problems when I need to export test versions of my game for indie festivals and play testers soon.

    It's unfortunate and a total pain as I (regrettably) bought the auto updating steam version of Construct 2 (wish I got the stand alone version directly from Scirra instead), But by keeping steam in offline mode I can delay updating until this is sorted out.

    I hope Ashley can set it up to give us a choice of nw versions soon. I would like to update to the latest version of Construct 2, but I just can't risk introducing these problems at this point in development.

  • Sadly this is probably C2's only weak link - exporters - but as shown in this thread it is enough to break the chain!

    As it is export for any desktop via node, is... well... broken...,

    C2 itself is cutting edge and super cool to use, but the end result is too often broken, or production halted, by the reliance on third party exporters...

      I get a little chuckle from the need to remove third party plugins form a capx when trying to sort a bug in C2 itself (and rightly so), but one of the biggest bugs we contend with are those we use to export our hard work with.

    This node thing has been going on for ages now, and the blame is always placed on either chrome or node.

      But is not the real problem C2's reliance on third party wrappers of whom the creators of such couldn't care less if it affects C2? Maybe they will get it fixed in the next few updates, but how long before it bugs out - again - in the following updates...

    Other questions I contemplate are: Can they fix it? Do they actually know what to fix? Are they really trying to fix it?

      If you look at Ashley's record, a major bug in C2 is fixed very quickly, sometimes overnight! But this can't be said for the node problem - which at the moment is a major bug...

    Que Sera Sera....

  • michael

    i totally agree

    StaticCloud

    i have the steam version too, and i cant go back versions, and i dont have the money to pay the 120$ for the stand alone version, like i said, my game development is halted for this :/

    Colludium

    yes, can you imagine selling a game that runs like this? yesterday i have one of my firends visit me, since he is one of my friends who wants to help me to alpha test the game, and it was embarrasing, the game looking like a slideshow, i felt very embarrased becuase it felt like i was doing a crap job, even after i explained to him that its a bug :/

    i know that workaround, but i dont know if that could create problems, but i have it in mind of course, this problem should be TOP PRIORITY.

  • Colludium

    "Edit - actually Chrome Canary is worse than the old NW. By a country mile...."

    thats frightening :/

  • I'm glad to hear its not just me. My game was running great yesterday, and then today with the update, node webkit ran super jittery.

    I reverted back to the old version 186.2... the last version that has the bundled nodewebkit... and it seems to work fine again.

    I'll just wait to update until the issue is fixed.

  • I see more and more people having issues with Node-Webkit.

    Roger Wang is its dev and he is quite aware of the issues, he has received lots of feedback and is actively working on it almost everyday as you can see in the latest live builds page here https://github.com/rogerwang/node-webkit / http://dl.node-webkit.org/live-build/

    I say he's actively working on it because I have been in contact with him very recently regarding performances, along with some other C2 users, and I also noticed a few days ago the appearance of a file that wasn't in older versions of NW: d3dcompiler_46.dll

    I'm no expert with DLLS but I know this file is related to DirectX, graphics acceleration and it's one of the latest version of it since the current file most used is d3dcompiler_43.dll (If you check your System32 folder you're likely to find lots of (older) versions of it).

    Ashley mentionned once that it cannot just be bundled like that for legal reasons and must be distributed throught the official dxwebsetup (directX) installer, but this means Roger is working on the optimization of how graphics are handled through Node-Webkit.

    So let's have faith and be a little patient.

  • Telyko Great news!

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • I checked again with 0.11.1 and I can't actually reproduce any problem: I ran the Space Blaster jank test and it did not drop a single frame, with a maximum jank of 4.2ms, well within the 16.6ms frame time. So I guess it is system dependent. I'm on Windows 8.1 here. Also I'm pretty sure the problem is already fixed (since nobody is reporting Chrome is as bad?) and so the next version of node-webkit should solve this. I filed a node-webkit bug anyway to see what Roger says: https://github.com/rogerwang/node-webkit/issues/2698

    I don't think there's any reason to get all doomsday about this, it's just a bug and the fix should inevitably make its way to node-webkit too. I don't see why anyone has to stop development on their game - you should be able to keep testing with Chrome (which should run almost identically). Alternatively you can roll back your node-webkit version to any version at all manually - just visit https://github.com/rogerwang/node-webkit/wiki/Downloads-of-old-versions to download a version and overwrite the files in your NodeWebkitForC2 install folder. Or you could just ignore the jank and keep developing while waiting for the next update? (Depends how bad it is)

    tl;dr - should be fixed soon when node-webkit next updates the Chromium version

  • So I did some testing out of interest and here are the results. I think that they speak for themselves. My system is W8.1 x64 16Gb RAM, Intel 4600 2Gb graphics card. A simple test like this should not demand anything other than an eye blink out of my computer. As you can see, the newer chrome derivatives show a spike of dt values at 20 ms (it is the same on Canary v41 as well)...

    Personally, I am very disappointed that a new version of Chrome can be rolled out with such an apparent lack of testing beforehand. I understand that keeping up with the latest updates can be a good thing, but I know plenty of people who would like to roll back their current version of Chrome because of this problem as well. I submitted a bug report about this a couple of weeks ago to Google; there was initial progress but all has gone quiet...

  • I'd point out Canary changes literally daily and is a work in progress, so it could be different every day you look at it. Google engineers have already told me they're aware of v-sync issues in Chrome on Windows and are working to make sure everything runs as smoothly as possible. They actually already patched Canary at one point which made it run perfectly, but it regressed some other test cases they had so they reverted it for the time being. I guess they're working on fixing the other problems before they update it again.

  • Ashley

    This isn't an issue with node, it's an issue with vsync in chromium v38, which node-webkit 0.11.1 is based on. This has been hashed over on the forum ever since v38 stable came out, and with respect to node ever since you updated it a couple beta's back.

    For power users there are work around's, but anyone trying out C2 for the first time (liable to be a lot of those right now...the holidays you know) is going to go "WTF, a bouncing ball jerks?" and move on. There's nothing you can do about FF or Chrome...but this seems like a really bad time to bork desktop export for 90% of users.

  • I can't reproduce the issue on my system, so I assume it does not affect all systems, presumably only certain configurations. Perhaps identifying the kinds of system affected would be useful in the mean time, but ultimately a node-webkit update should fix that, and (usefully) that can happen independently of C2 updates now, so we can fix it outside of the normal beta/stable cycle when node-webkit updates.

  • Ashley

    My first impression was similar to yours. The random jerking in node 0.11.1 doesn't appear as bad as Chrome v38 (in fact, it seems non-existent).

    However, the v-sync appears to randomly fail, causing the terrible stop-go effect that typifies this behavior. It will even go in and out during the same session of gameplay. I cannot reproduce this in the older version of node from r184.

    I am just one person, and am only testing on one computer...but others are reporting similar behavior, and google itself admits vsync issues with v38.

    I don't really think there is much more to say about it.

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