That just looks like either: Your game resolution is very small and positions are snapping to the next closest “whole” number with rounding, or it’s momentarily subpixel rendering so it looks like it’s juddering as it goes back to full pixels.
If that IS the issue, your only real solutions are:
-
Make your game at a higher resolution, multiply your asset sizes by that new resolution factor. This gives the screen more “room” to move in without hitting subpixels/jumping to the next rounded pixel.
e.g. If your current resolution is 320x180, set your resolution to 640x360 (2x size) and multiply all of your assets by that same factor (2x). -
You can also try my native resolution multiplication method: Jerky Camera + Lerp + Low Resolution - #7 by Silver-Streak
As a quick test, I did try this using the Tilemap platformer example:
Resolution set to 160x90 in the game properties.
Game resolution set to 1280x720 via events (window not resized)
Zoom set to 8x (8x90=720)
Framerate minimum set to 60 fps, max 120fps
Camera lerped to player locationOverall it seems pretty smooth to me, and these are the only events needed to accomplish it:
Instead of 8x/720p/etc, you would use whatever is a multiplier of your game resolution. For the devices you mentioned, I’d probably go up to 1080p as the resolution in the “Set game resolution” event. If your game resolution is 320x180, that means you need to change your camera zoom by 6x. (6x180=1080).
Note: you will need to zoom the camera for EVERY LAYER you have. And if you have any events that zoom in/out the camera, you’ll need to keep the multiplier in mind as well. (e.g, if you previously zoomed in 2x, you’re now going to have to zoom in 12x (2x6).