We need to talk about the Jank!

0 favourites
  • Chrome 69.0.3497.92 with performance related hotfixes just got released. Might want to re-run the available tests in here and see if it's fixed.

  • Chrome 69.0.3497.92 with performance related hotfixes just got released. Might want to re-run the available tests in here and see if it's fixed.

    TheRealDannyyy

    Might, improve it a bit. Canary was slightly less jank for me. But as this seems to be a power saving OS especially on laptops and such. I'm not sure how it can be improved really.

    As someone else reported text object also quite a big factor. Not updating text every tick certainly helps quite a bit. At least for me.

    Endless Runner in Firefox - Surface Pro 4, on battery, recommended power mode.

    - Unplayable.

    Disabling text update event, playable with a few janks here and there that seems to be related to GC and Vsync

    Computer throttles down to low 0.5 Ghz or something like that. But when there's actually a major GC happening, it's throttled down so much that the CPU can't speed up fast enough again to do the GC, so you notice a quite significant jank.

    Some minor dropped frames here and there seems to be v-sync. V-sync seems to fail more on battery, and power plans set to recommended settings.

    What irritates me is that these power saving features ruins the experience. Imagine if you were watching youtube or a movie on battery power and the videos keeps janking. That would be unacceptable! There would be a public outcry probably. HTML5 games on the other hand, seem to suffer more from these power saving features, especially when in battery power.

    As no-one seem to wanna touch the issue, there's not much else than inform your players to change power mode if they play your games on laptops, and notice bad performance.

    Exported Mobile projects seem to be fine though, an occasional dropped frame here and there. But recommended not to use any text object that updates frequently.

  • Some minor dropped frames here and there seems to be v-sync. V-sync seems to fail more on battery, and power plans set to recommended settings.

    I think most of the problems are v-sync problems. As I wrote the timer accuracy is decreased in battery mode, and this causes frame drops. A second problem could be the patches in the browsers for meltdown and spectre.

    They decreased the timer accuracy, possible that this also cause v-sync problems and frame drops.

    hackaday.com/2018/01/06/lowering-javascript-timer-resolution-thwarts-meltdown-and-spectre

    But you have to ask Ashley if this could be a problem.

  • I've tested the runner example again and there is no difference at all for me. It's stuttering like hell as it did before the hotfix, guess we made no step forward from the previous issue (High-end Win7 PC, Fullscreen mode).

  • I've tested the runner example again and there is no difference at all for me. It's stuttering like hell as it did before the hotfix, guess we made no step forward from the previous issue (High-end Win7 PC, Fullscreen mode).

    Did you try disabling the text update every tick? that helped a lot for me.

    Wish there was some way that Construct could auto generate a sprite font. Tiresome doing it in 3rd party apps and importing over and over when you wanna tweak sizes, color style etc.

    I rarely use text object at all anymore except for debug purpose.

  • > I've tested the runner example again and there is no difference at all for me. It's stuttering like hell as it did before the hotfix, guess we made no step forward from the previous issue (High-end Win7 PC, Fullscreen mode).

    Did you try disabling the text update every tick? that helped a lot for me.

    Wish there was some way that Construct could auto generate a sprite font. Tiresome doing it in 3rd party apps and importing over and over when you wanna tweak sizes, color style etc.

    I rarely use text object at all anymore except for debug purpose.

    Removing it and any other objects or events makes no difference on my end. There is something wrong with Chrome internally but without more concrete ways to reproduce this, there is no way to do a proper bug report. This topic is also kinda all over the place with completely different causes, mostly speculations, not making it any easier to narrow it down.

    Anyway I guess I'll keep using M68 for my desktop exports and wait for future releases to fix this.

  • For those of you, who are interested in this stuff, I have found a good test to run your browser in.

    https://www.testufo.com/animation-time-graph#scale=10&ppf=2&measure=animation&busywait=0

    My Results on the Animation Timing test.

    Laptop Asus core i7 Nvidia 745m

    Chrome browser

    1 tab open - test tab

    Test settings = Scale 10 milliseconds Pixels per plot = 2 Refresh rate = 60 Hz

    1. Laptop Plugged in with high performance power setting

    Result = A very rare stutter / jank

    Framerate = steady 60 fps

    2. Laptop Unplugged (on battery) with high performance power setting

    Result = Continuous Stutter

    Framerate = 57-61 fps dropping every 1-3 seconds

    3. Laptop Plugged in with balanced power setting

    Result = Stutter every 3-10 seconds

    Framerate = steady 60 fps

    4 Laptop Unplugged (on battery) with balanced power setting

    Result = Continuous Stutter

    Framerate 56-61 fps

    Would like to point out, this has nothing to do with c3 engine, this is a browser problem.

  • Try Construct 3

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

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

    Did you try disabling the text update every tick? that helped a lot for me.

    Wish there was some way that Construct could auto generate a sprite font. Tiresome doing it in 3rd party apps and importing over and over when you wanna tweak sizes, color style etc.

    I rarely use text object at all anymore except for debug purpose.

    Don't know if it helps but the new c3 runtime renders text object to the canvas like sprite font (they use the same code now) so theres no longer any overheads or disadvantages to using it.

  • For those of you, who are interested in this stuff, I have found a good test to run your browser in.

    https://www.testufo.com/animation-time-graph#scale=10&ppf=2&measure=animation&busywait=0

    I tried the above and get no lag no matter what. And this is on FF and Chrome, on my lappy that has a not exactly spectacular i5 and an intel gfx card.

    So I'm not really sure why your setup is struggling.

    This is worth looking into.

  • > For those of you, who are interested in this stuff, I have found a good test to run your browser in.

    >

    > https://www.testufo.com/animation-time-graph#scale=10&ppf=2&measure=animation&busywait=0

    >

    I tried the above and get no lag no matter what. And this is on FF and Chrome, on my lappy that has a not exactly spectacular i5 and an intel gfx card.

    So I'm not really sure why your setup is struggling.

    This is worth looking into.

    Nothing like this then.

    Canary chrome latest build

    This is on integrated gfx, on same laptop, on power save and battery.

    Firefox, with the same test faired a lot better.

    And this is when I plugged it back in.

  • Indeed FF seems better at it.

    This is on FF btw, on chrome, it gives the same results once it's "ready".

    I may see a stutter detected(1+) warning, or such, if im moving the mouse around a bit or doing things, if I click here and there or scroll, etc. On FF i can wreak havoc and it holds it's own.

    Connected or not doesnt matter.

    And i also tried the power mode on stock "balanced", which is the recommended and standard as far as I'm aware. I normally use a high performance custom mode, because I have my own preferences.

    So far that's what i got...

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