How do I eliminate jerkiness/tearing when fullscreen

  • Here's the capx: https://dl.dropboxusercontent.com/u/280 ... test5.capx

    Here's the exported game:

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

    OK I know it's the usual problem:

    * pixelart game,

    * ultra small resolution 128x96

    * pixel rounding on (because I don't like sub-pixels showing whenever enemies are trying to find their footing on platforms).

    I've set fullscreen to letterbox integer, so you can see for yourselves. Just run the game and resize the window.

    When the game window is 640x480 or less, beautiful, smooth movement. Yes, it's 1 pixel at a time, but that's what's intended.

    When you resize the game window to be more than 640x480, or even worse Fullscreen, there's a ton of jerking which doesn't feel like 1 pixel at a time. It feels like the screen is tearing as well. In any case, it's suddenly not at all smooth, and it happens just a few pixels above 640x480.

    Can anyone help, this issue makes me want to seriously quit trying pixelart games on C2.

    Is it a timedelta thing? Is it a mistake on my part? I'm just using the standard platform movement.

    Is it a monitor thing? I'm noticing my second (older, crappier) monitor is almost unaffected, on chrome! Both my monitors are affected on nw.js.

    However both my monitors can play, for example, a mame-emulated version of Rainbow Islands with perfect full-scale frame rate and no jerking.

    @Ashley I wish there was a way for Construct 2 to work in a mode that emulates an older processor chip, with a specific frame rate, and adjusts everything so that it looks good on modern monitors.

    thanks to anyone who takes the time, it means a lot to me.

  • um putting it out there: I would never have thought of it, but someone on twitter told me to turn windows aero back on. Apparently windows disables vsync when aero is disabled? I'm so weirded out. Thanks for listening

  • It's working just fine here, no tearing at all but the character does "shake" a little bit while the camera is following her. I'm running the latest preview version of Windows 10 (14332).

  • You're right. That might have to do with player.platform.maxSpeed

    Maybe she needs to move exactly a specific number of pixels for it to work. Hm

  • You're right. That might have to do with player.platform.maxSpeed

    Maybe she needs to move exactly a specific number of pixels for it to work. Hm

    I messed around with your .capx because I thought it had something to do with the way the camera worked, but what you said was just it. I think she's running so slow that you can actually see she shifting through every pixel. If you use 60 as her maxspeed, everything is really smooth.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • 60 is too fast. Are we sure it can't work with smaller max speeds? If so, I should have thought twice about the tiny size

  • Maybe if you put a lerp on all the camera movements.

  • thanks Tried it, it's even jerkier then! Try it?

  • Honestly it's not jerky here.

    Edit.

    How does this:

    https://newt.itch.io/oort

    Work for you?

  • in full screen? it's very jerky, yes. Performance is smooth, but lerp scrolling is jaggy.

  • Then it may be your system.

    The usual suspect for jerky cameras is pixel rounding, but the system scroll is not bound by it. In other words it can scroll to sub pixels, and that's usually what lerp will give you.

  • but your camera completely jerks. Like, I stop in place and the camera slowly shifts into place, and then, half a second after it's stopped, it clicks one more pixel! It's very distracting. Apparently you have pixel rounding on as well. It doesn't scroll to subpixels.

    And anyway even if yours did (it doesn't), I don't want mine to.

  • I guess what I really want to know is: how can I move the player 2 pixels per frame and the background 1 pixel per frame. Consistently. At any size, even fullscreen (where 1 game pixel is obviously going to be huge)

    Even when I scale up the 128px layout to full screen, 1 pixel per frame would still read smooth.

    And then I can speed up. R0J0hound ? Magistross ?

  • but your camera completely jerks. Like, I stop in place and the camera slowly shifts into place, and then, half a second after it's stopped, it clicks one more pixel! It's very distracting. Apparently you have pixel rounding on as well. It doesn't scroll to subpixels.

    And anyway even if yours did (it doesn't), I don't want mine to.

    Nope it's going to subpixels, and its why its snapping.

    Try putting round(lerp(()))

  • I tried round(lerp()) and ceil, and floor :/ nothing. I want the player to consistently move 2 pixels per frame. Not per second, not per tick. Is that doable?

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