About the jerkiness on the movement...

  • Has anyone noticed that this has gotten worse over time? I don't remember this being an issue like a year ago - but maybe that's because I wasn't looking for it.

    I'm not looking forward to waiting on Chrome to fix the issue. My last game died because Chrome took too long to fix something...

  • sqiddster whats the alternative to waiting...

    and yes this was there 1 1/2 year ago.... i quit developing with construct because of this and cocoonjs... now with crosswalk there is a promising option even if it have bugs

    may i ask what the bug /your game was?

    take a look at KingsRoad. its a big html 5 game... if you look closly at the promovideos on youtube (the background) it seem to suffer from the same problematic. really strange that no one mentions it...

    regards

    joschi

  • The bug with my game would cause keys to get read as pressed when the mouse was used in the same tick as the keyboard. It was fixed but by then I'd moved on to other things.

    To be honest I'm not sure this is the issue my game has. If it is, it's been magnified greatly. Honestly all the demos I've seen have the issue, but it's not too noticeable. In my game, it's game-breaking. Could be the same issue, but it might be something different, and it's very hard to tell if there's any way of knowing. I'm pretty sure my issue is GPU-related and it could have something to do with the dt inconsistencies in this thread.

  • thanks you <img src="{SMILIES_PATH}/icon_e_smile.gif" alt=":)" title="Smile"> this is valuable information for further planning.

    Ashley , sorry for ping you at this, you probably have seen it aleready but jochen(the assigned developper) has asked you a question here:

    https://code.google.com/p/chromium/issu ... ?id=424563

    [quote:2h1l6kch]can you share some information how you measure how many frames are dropped and jank?

    i just leave this here as i am really interested in the fix of this issue and it will take some time after the fix before crosswalk will adopt the change...

    regards

  • I saw this too...I've been meaning to post some reply for the last few days.

    I ran the following benchmark 5 times each in Chrome, Firefox, and IE:

    http://google.github.io/latency-benchmark/

    However the results were far from definitive, or consistant:

    https://www.dropbox.com/sh/1xjqtzq8hp9u ... wLABa?dl=0

    I also tried to record some gameplay from my project Nebular Drift...but I haven't been able to find any screen capture program that doesn't slow down performance, record at the wrong frame rate, playback at the wrong speed, cause a bunch of extra jank...or do all of the above! I've tried:

    Camstudio

    Hypercam

    Fraps (free version)

    VirtualDub(Couldn't get the settings sorted out)

    If anybody can give me some pointers on this, I'd be grateful.

    In other news, I've been working on a data logger that can be dropped into any c2 game to track cpu, dt, fps, objCount, and ImgMemUse. Also, some logic to write out said data to a graph (that's taken a lot more work). The logger is pretty simple and only needs a bit more work; I'll probably upload the graphout capx separate.

  • You could always lerp the image locations with the actual logical locations.

    Visuals only need to be close enough to actual locations to be believing.

    This also gives you fine control over the logic, while maintaining fine control over visuals as well.

    Personally I am working on a multiplayer project, I get a constant 120fps even with many connections. And things looks smooth for every player.

    I guess my heads been in keep visuals and logic separate and out of player control for security and best gameplay reasons. And this way of thinking to keep everything separate has been working nicely.

    If people want to give things a try, the project reports cpu load as well as frame rate.

    Would help seeing which people still get choppy visuals...and I can test my project at the same time haha.

    https://dl.dropboxusercontent.com/u/583 ... index.html

    Not sure how dropbox will handle a multiplayer server....but here is a try <img src="{SMILIES_PATH}/icon_razz.gif" alt=":P" title="Razz">

    As a reference. On dropbox I am getting 120fps and 0.04 cpu usage. Looks smooth.

    Also, people testing games...keep the game on your primary monitor. I found that multiple monitors...with browsers for some reason perform rather crappy if not on monitor 1.

  • So you're suggesting I record the positions of my objects during a sample bit of gameplay, then re-animate them using that database? That's a really clever idea. The problem in my use case is the sheer number of objects (around 1000-2000 onscreen) I'd need to track...logging all that data would be bound to induce some slowdown.

    BTW, I tested your link, and I saw much what I expected: after a breif 'settling down' period, IE produced the smoothest result...virtually no jank. Chrome had a much lower cpu usage than IE, but it's jank did not 'settle down' after awhile. Firefox, needless to say, janked the worst.

  • Also, people testing games...keep the game on your primary monitor. I found that multiple monitors...with browsers for some reason perform rather crappy if not on monitor 1.

    That's right.

  • Also, people testing games...keep the game on your primary monitor. I found that multiple monitors...with browsers for some reason perform rather crappy if not on monitor 1.

    I must admit that this is valid. Disabling my secondary monitors had a positive effect on the jerkiness. I can't really measure how much it improved, it's more like a feeling but I believe it's a valid one. However, it didn't make the problem obsolete, rather it's less annoying this way. And the relative browser performance it's still the same, in Firefox the problem is still very intense.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • So you're suggesting I record the positions of my objects during a sample bit of gameplay, then re-animate them using that database? That's a really clever idea. The problem in my use case is the sheer number of objects (around 1000-2000 onscreen) I'd need to track...logging all that data would be bound to induce some slowdown.

    BTW, I tested your link, and I saw much what I expected: after a breif 'settling down' period, IE produced the smoothest result...virtually no jank. Chrome had a much lower cpu usage than IE, but it's jank did not 'settle down' after awhile. Firefox, needless to say, janked the worst.

    ....third time writing this. My power, Internet, and cable are out. And my phone is being special....

    Because my power is out, the server went down. Meaning you probably were hosting the game for yourself and would need a second browser tab to see the movement I was trying to describe.

    I do have an idea. I noticed people on 120hz+ seem to have little to no issues.

    60hz should still look smooth though.

    So I thought, maybe the game logic is running faster than the rendered frames! For instance, the game is changing an objects position logically like 90 times a second....but visually a solid 60. This would have what should be smooth movement look jittery.

    Same if the internal side of things runs slower,

    Maybe a way d time or something works?

    I could be way off. But hopefully that makes sense and maybe inspires new ideas.

    I think that would explain why the high refresh monitors also look much smoother. Aside from the benifits of higher refresh of course.

  • Sorry for the double post. Editing is not very reasonable on my phone right now.

    But I forgot to mention for start up jerkiness people should have a loading screen/pause a layout momentarily on start up/ layout change.

  • Actually, lerping the positions graphically would not help that much, as the lerping would jitter as well, and would be an insane amount of work just to work around bugs that will be fixed eventually (#reallife, you cannot rely on hack tricks, bugs must be fixed, as doing hacks tricks is the worst you could do actually for anyone involved).

    Same for the loader, it will make the player wait an empirical amount of time, when this jitter will be fixed, it will be there, making people wait for no reason (well, I guess the jit compilation would benefit from that even later so it is not that problematic if done well.)

  • Actually, lerping the positions graphically would not help that much, as the lerping would jitter as well, and would be an insane amount of work just to work around bugs that will be fixed eventually (#reallife, you cannot rely on hack tricks, bugs must be fixed, as doing hacks tricks is the worst you could do actually for anyone involved).

    Same for the loader, it will make the player wait an empirical amount of time, when this jitter will be fixed, it will be there, making people wait for no reason (well, I guess the jit compilation would benefit from that even later so it is not that problematic if done well.)

    How would keeping not help? Wouldn't it smooth the movement so to speak?

    As for loading, I was under the impression many people see the most littering at a layout change or project start. A load/pause would allow all resources to fully load hopefully reducing jitter.

    But I agree completely. Movement and animations should looks smooth without having to find ways to "fix" it.

    But I wonder what might be broken. I know personally I don't have any perceivable jitter. I also have a rather powerful computer CPU and gpu wise....which doesn't help with trying to find performance or visual stuttering haha.

  • How would keeping not help? Wouldn't it smooth the movement so to speak?

    I think that the problem is that during run-time you don't know when a frame is going to be dropped by the browser - so your lerp-ed positions won't always be drawn every tick anyway. And once a frame update is missed then it's too late... Also, lerp-ing everything will just add to the cpu/gpu workload, which is unlikely to help the problem. The only way to have a smooth experience across a broad range of browsers seems to be to have a small and not-zoomed canvas size and to have not much graphical changes taking place (kind of the opposite of what I want to do...).

  • Colludium there is no way to avoid this issue. its everywhere. some people are more sensitive to it than others. but its clearly a lot better with IE, it has only the "normal"lags whith whith i can also live. ive tryed it on several high end pc`s, linux, android, laptops and so on... its aleways there. you just cant see it so good with small layouts haha

    regards

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