Godot: Driver-related jitter in motion test

Created on 7 Jun 2015  ·  100Comments  ·  Source: godotengine/godot

image
Only first row is nothing, it's bug?
fix process test(2 and 4 row) all often shake.

bug rendering

Most helpful comment

I will kick to 3.1, where we might implement fixed step interpolation

All 100 comments

lag on the third one is OK and expected, but when they shake, is it all of
them or only the fixed ones?

On Sun, Jun 7, 2015 at 10:33 AM, Pixeller [email protected] wrote:

[image: image]
https://cloud.githubusercontent.com/assets/156404/8024159/30d51954-0d5c-11e5-90f6-b8b44392afb0.png
Only first row is nothing, I think it's bug.
fix process test(2,4 row) all often shake.


Reply to this email directly or view it on GitHub
https://github.com/okamstudio/godot/issues/2043.

@reduz 2 and 4 row often shake together at the one time.

Lag here: https://youtu.be/haKOTbxjJWo
Windows 7 x64,godot 1.1x64, Pentium 4-3.2Hz, Ram 2GB, Nvidia 7600GT
How i can help to fix that? Godot it's a great and perspective engine, but with this bug i can't start project.

I tested on several device, and i see this bug on a different config and os.

Lenovo IdeaTab 3500, Android 4.4.2, some lags present..
https://youtu.be/7HYp9pdAZdY

Get a newer GPU

On Sun, Jun 7, 2015 at 2:46 PM, Alexey [email protected] wrote:

Lag here https://youtu.be/haKOTbxjJWo
Windows 7 x64,godot 1.1x64, Pentium 4-3.2Hz, Ram 2GB, Nvidia 7600GT
How i can help to fix that? Godot it's a great and perspective engine, but
with this bug i can't start project.

I tested on several device, and i see this bug on a different config and
os.


Reply to this email directly or view it on GitHub
https://github.com/okamstudio/godot/issues/2043#issuecomment-109782634.

I'm sure you have seen other games running better on your GPU, or even
Unity. The problem is that this specific GPU is more than a decade old and
it has really bad OpenGL support (most stuff made for it are DirectX9).
Immediately nweer nVidia models starting from 8xxx have much better openGL
support, where Godot runs fine.

On Sun, Jun 7, 2015 at 4:45 PM, Juan Linietsky [email protected] wrote:

Get a newer GPU

On Sun, Jun 7, 2015 at 2:46 PM, Alexey [email protected] wrote:

Lag here https://youtu.be/haKOTbxjJWo
Windows 7 x64,godot 1.1x64, Pentium 4-3.2Hz, Ram 2GB, Nvidia 7600GT
How i can help to fix that? Godot it's a great and perspective engine,
but with this bug i can't start project.

I tested on several device, and i see this bug on a different config and
os.


Reply to this email directly or view it on GitHub
https://github.com/okamstudio/godot/issues/2043#issuecomment-109782634.

Acer Aspire Switch 10, Intel atom Z3745, win8.1.. Jittering
I test on my desktop Intel® Core™ i5 CPU 750 @ 2.67GHz, Nvidia Gtx750ti, Ubuntu x64. Motion more smooth, but lags(Jittering) some times happens..
How about Android, i tested on several device and see motion jittering some times.. Devices not old.
Godot have a native linux editor - killer feature for me and i like concept of engine, simple and power language gdscript, but optimization is very bad. Thank for your work guys!

Can you specify from the devices you test, which ones all the cars are
smooth and which one only the fixed cars jitter?

On Sun, Jun 7, 2015 at 5:57 PM, Alexey [email protected] wrote:

Acer Aspire Switch 10, Intel atom Z3745, win8.1.. Jittering
I test on my desktop Intel® Core™ i5 CPU 750 @ 2.67GHz, Nvidia Gtx750ti,
Ubuntu x64. Motion more smooth, but lags(Jittering) some times happens..
How about Android, i tested on several device and see motion jittering
some times.. Devices not old.
Godot have a native linux editor - killer feature for me and i like
concept of engine, simple and power language gdscript, but optimization is
very bad. Thank for your work guys!


Reply to this email directly or view it on GitHub
https://github.com/okamstudio/godot/issues/2043#issuecomment-109799148.

Lenovo IdeaTab A3500, ASUS MeMO Pad HD 7(ME173X), Asus Fonepad 7 FE375CG x86(i can test tommorow)
Idle Process Animation, Idle Process Code --- smooth, random jitter 1-2 times in 1 loop(before car not move again),
Fixed process Code, Fixed Process Animation --- jitter all time.

so, basically if i understand correctly:
1) On Old PC (7600gt) you get jitter all the time in all the cars
2) On new PC (Core i5+ gtx 750) it's smooth but you see an eventually
jitter in all cars every a bunch of seconds
3) You see a lot of jitter on fixed cars, but small to no jitter on idle
cars on Android devices?

On Sun, Jun 7, 2015 at 6:14 PM, Alexey [email protected] wrote:

Lenovo IdeaTab A3500, ASUS MeMO Pad HD 7(ME173X), Asus Fonepad 7 FE375CG
x86(i can test tommorow)
Idle Process Animation, Idle Process Code --- smooth, random jitter 1-2
times in 1 loop(before car not move again),
Fixed process Code, Fixed Process Animation --- jitter all time.


Reply to this email directly or view it on GitHub
https://github.com/okamstudio/godot/issues/2043#issuecomment-109800091.

1) Old pc, old amd notebook, acer aspire swith 10(intel hd graphis) jitter all time.
2) New pc - random jitter. Some time a demo work without jittering and lags!
3) Yes, all correct!

Oh ok.
1) Jitter on Old PCs is due to bad drivers, this can't be fixed, OpenGL was
not well supported back then.
2) Jitter on modern PCs should be minimal or only a tiny bit. This is due
to the OS and is expected, all games suffer this as far as I know.
3) Jitter on Android is due to how android works, it only happens on some
devices, but this will be fixed in Godot soon.

On Sun, Jun 7, 2015 at 6:34 PM, Alexey [email protected] wrote:

1) Old pc, old amd notebook, acer aspire swith 10(intel hd graphis) jitter
all time.
2) New pc - random jitter. Some time a demo work without jittering and
lags!
3) Yes, all correct!


Reply to this email directly or view it on GitHub
https://github.com/okamstudio/godot/issues/2043#issuecomment-109801729.

_OkamStudio_

Oh also, for devices running windows7. Aereo often creates jitter. For
reference, try disabling Aereo and i'm sure you will notice a difference.
Changing the demo to run fullscreen often fixes this too

On Sun, Jun 7, 2015 at 6:38 PM, Juan Linietsky [email protected] wrote:

Oh ok.
1) Jitter on Old PCs is due to bad drivers, this can't be fixed, OpenGL
was not well supported back then.
2) Jitter on modern PCs should be minimal or only a tiny bit. This is due
to the OS and is expected, all games suffer this as far as I know.
3) Jitter on Android is due to how android works, it only happens on some
devices, but this will be fixed in Godot soon.

On Sun, Jun 7, 2015 at 6:34 PM, Alexey [email protected] wrote:

1) Old pc, old amd notebook, acer aspire swith 10(intel hd graphis)
jitter all time.
2) New pc - random jitter. Some time a demo work without jittering and
lags!
3) Yes, all correct!


Reply to this email directly or view it on GitHub
https://github.com/okamstudio/godot/issues/2043#issuecomment-109801729.

_OkamStudio_

_OkamStudio_

Thank you so much! I will follow up on the development of Android in Godot.

Just to throw some more results in, on an i5 2500k and R9 270X (actually two in Crossfire, but I don't think Godot supports that right now):

Mint 17.1, Linux 3.16, fglrx 14.12 (Catalyst Omega): all four are somewhat jittery, and all jitter the same.

Win10, various Catalyst alphas and betas: all four are perfectly smooth.

Arch, Linux 4.0.5, xf86-video-ati 7.5 + mesa 10.5.7: all are mostly smooth, but jitter occasionally; Idle Animation is the smoothest, and the two Fixed are the most jittery. Also, if left running, Idle Code falls behind the other three.

Gungrind: Open source 3D drivers, both ATI and NVidia are extremely jittery
for me even on high end hardware (I also have that same GPU), I think it's
entirely the drivers fault. Using closed drivers works smoothly for me on
Linux

On Mon, Jun 8, 2015 at 12:04 AM, GungnirInd [email protected]
wrote:

Just to throw some more results in, on an i5 2500k and R9 270X (actually
two in Crossfire, but I don't think Godot supports that right now):

Mint 17.1, Linux 3.16, fglrx 14.12 (Catalyst Omega): all four are somewhat
jittery, and all jitter the same.

Win10, various Catalyst alphas and betas: all four are perfectly smooth.

Arch, Linux 4.0.5, xf86-video-ati 7.5 + mesa 10.5.7: all are mostly
smooth, but jitter occasionally; Idle Animation is the smoothest, and the
two Fixed are the most jittery. Also, if left running, Idle Code falls
behind the other three.


Reply to this email directly or view it on GitHub
https://github.com/okamstudio/godot/issues/2043#issuecomment-109846618.

My laptop is retina macbook pro 2013 (i5, iris pro 5000)
I play more 2d game has no shake on my laptop.
Has shake if I develop physics game use godot or run example (platformer).
https://github.com/okamstudio/godot/issues/1745

Pxeller, only the fixed process ones jitter for you?

On Mon, Jun 8, 2015 at 2:35 AM, Pixeller [email protected] wrote:

My laptop is retina macbook pro 2013 (i5, iris pro 5000)


Reply to this email directly or view it on GitHub
https://github.com/okamstudio/godot/issues/2043#issuecomment-109868342.

_OkamStudio_

@okamstudio
Yes, only fixed process ones jitter.
Don't like the feeling of jitter when I play or test the game, It's incredible.

Smooth as butter on my Mac Mini 2009. Very odd about it not working well for you with more recent hardware.

This happened a lot for me on my Acer C720 when I used Cinammon, but now that I use XFCE it works a lot better. It's GPU is an 'Intel HD Graphics'. Guessing the drivers are good enough, because it's certainly a weak GPU. Can handle some impressive 2D games though like Freedom Planet.

Oh, i found problem in windows 8.1 and Intel Hd Graphics, it's my fault *( I use a F.lux app for care of my eyes: it makes the color of your computer's display adapt to the time of day, warm at night and like sunlight during the day. And f.lux have a bug, like a stutter in games. Now motion test in my acer aspire switch 10, work like a charm! Thanks @reduz for help in irc!

So agameraaron's comment made me wonder about how various DEs would effect this, so I tested Enlightenment, GNOME Shell, Cinnamon, and LXQt (all the latest versions in Arch's repos), as well as Plasma 5, where I originally tested; same system as above (i5 2500k, R9 270X, open source drivers). All looked perfectly smooth, except for Plasma 5, which had quite a bit of stuttering and tearing.

I use a similar program for Linux as Allkhor called Redshift because f.lux provides abysmal Linux support. I use f.lux on my Mac Mini. I'm not sure if that's the primary source of the issue.

Hi, Fix it please.

I find a lot of shakes in any animation. Win8.1,GT 630m

will be adding fixed step interpolation soon, but this will only fix the
cases where only the fixed cars jitter
if all cars jitter for you, there is something misconfigured on your OS

On Wed, Jun 24, 2015 at 12:55 PM, zhagsenkk [email protected]
wrote:

I find a lot of shakes in any animation. Win8.1,GT 630m


Reply to this email directly or view it on GitHub
https://github.com/okamstudio/godot/issues/2043#issuecomment-114924103.

_OkamStudio_

will fix this in 2.1

Thanks reduz!

Is the "fix" planned for 2.1 specifically for fixed car jitter?
On Windows 8.1 with a GTX 780, I'm observing somewhat frequesnt jitter across all cars (which occurs for each car at the same time). The drivers are up to date via GeForce Experience.

Running it in full-screen appears to alleviate the issue.

Thanks.

On my machine (Core i7-6700HQ, GTX780M) f.lux was causing stutters on all 4 cars. I wonder if that is somehow avoidable as f.lux is a commonly used software. After closing f.lux the constant stutters disappeared.

I also tried the motion test on my Samsung Galaxy S6. Here there were stutters on all 4 cars, but the 2nd and 4th were stuttering a lot more frequently. Increasing fixed_fps to 100 helped reduce the stutters on the 2nd and 4th cars but if you look at them closely they seem to "shake" as they move (more noticeable on PC)

Something else I found is on PC, if you double click the title bar to maximize / restore the screen, sometimes all the cars will shake/flicker very strongly as they move.

I can confirm that this problem is very bad on Android (I tried on galaxy s4 cyanogenmod, nexus 5 cyanogenmod and galaxy s6 stock rom). In my game, when I move a sprite (tried both in _process and _fixed_process), there is some visible jitter, but the game runs stable at 60 FPS.
On my PC however (ubuntu 16.04, i7 + hd7670 open drivers) it runs fine. So I guess there is some problem with the android build.
I noticed that @reduz had some problems replicating the issue: did you try on Android?

Not critical for the upcoming 2.1, so moving to the next milestone.

Not critical? It seems very critical when simple movements cause visible lag on two major platforms, doesn't it?

A lot of this was fixed by vsync (mainly on PC), mostly the problem
persists on some Android devices, though not exactly sure why.

On Wed, Jul 27, 2016 at 9:53 AM, Daniele Laudani [email protected]
wrote:

Not critical? It seems very critical when simple movements causes visible
lag on two major platforms, doesn't it?


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/2043#issuecomment-235575460,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z257mTKwfBrMslrEZ7ufEYq_1JEMPks5qZ1StgaJpZM4E6yMX
.

It's not critical because it works fine on most Android devices, only a few
display jitter (I could only replicate on an Amazon Kindle).

On Wed, Jul 27, 2016 at 9:55 AM, Juan Linietsky [email protected] wrote:

A lot of this was fixed by vsync (mainly on PC), mostly the problem
persists on some Android devices, though not exactly sure why.

On Wed, Jul 27, 2016 at 9:53 AM, Daniele Laudani <[email protected]

wrote:

Not critical? It seems very critical when simple movements causes visible
lag on two major platforms, doesn't it?


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/2043#issuecomment-235575460,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z257mTKwfBrMslrEZ7ufEYq_1JEMPks5qZ1StgaJpZM4E6yMX
.

That's strange, I tried on many Android devices (Galaxy S4, Galaxy S5, Galaxy S6, Nexus 5, Nexus 4).
If you want to test this with my code you can find it on my repository list (zball)

We will be working on a new renderer soon, so at the time we will review
again how frames are drawn in Android.
I honestly am not sure about how much more can be changed than how things
work, and I think implementing fixed frame interpolation to tackle this is
too much work and not worth it.
If you find another open source engine/library for Android that does not
exhibit this problem in your devices when working with Physics, let me know
and I'll give a check.

On Wed, Jul 27, 2016 at 10:01 AM, Daniele Laudani [email protected]
wrote:

That's strange, I tried on many Android devices (Galaxy S4, Galaxy S5,
Galaxy S6, Nexus 5, Nexus 4).
If you want to test this with my code you can find it on my repository
list (zball)


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/2043#issuecomment-235577446,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z23ujQZg9D0hEbSxevlKcloaR1D5Bks5qZ1aPgaJpZM4E6yMX
.

I see bad jitter with every 3rd of 4th pass of the fixed process cars on late 2013 iMac with GeForce GTX 775M (testing on 2.1.rc1). Idle process cars always smooth. Turning vsync on does not solve it in my case.

Just a notice, I can still reproduce this with commit https://github.com/godotengine/godot/commit/24bd472a4a3295f1d1f217a7fc7492df6947bfea.

  • Intel Core i7-6700K
  • NVIDIA GeForce GTX 1080 (driver version 372.70)
  • Windows 10 64-bit (build 14393)

Stuttering is definitely noticeable, but only in windowed mode, apparently. Fullscreen mode seems to be fine.

car being late is fine

On Sun, Sep 4, 2016 at 4:01 PM, Hugo Locurcio [email protected]
wrote:

Just a notice, I can still reproduce this with commit 24bd472
https://github.com/godotengine/godot/commit/24bd472a4a3295f1d1f217a7fc7492df6947bfea
.

  • Intel Core i7-6700K
  • NVIDIA GeForce GTX 1080 (driver version 372.70)
  • Windows 10 64-bit (build 14393)

After a minute or so, the 3rd car (starting from the top) will be slightly
late compared to the other ones.


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/2043#issuecomment-244622301,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z21J_G5WUXmvLP4GbW4GubPnupwb_ks5qmxV9gaJpZM4E6yMX
.

I see stuttering in both this example and in the space shooter example. Similar PC specs to Calinou. Didn't try in fullscreen, but the stuttering was seen in debug, non-debug, and compiled versions of the mentioned demos.

On my end, all cars stutter at the same time, one or two times per second in the editor.
It happens less when exported, but still happens every 3 seconds or so.

My game has a lot more stuff (well just 3 layers of tilemaps, a background and a few sprites) and I get frequent stuttering even exported. Profiling shows scripts and physics only account for 3% of the frame time, which is basically nothing.

For a reference, I tried to launch a Java game I made 4 years ago with a now obsolete library (Slick2D), and although this game has 3 layers of fullscreen sprites + polygon-based level walls, props, enemies, particles and projectiles with dynamic collisions, it doesn't drops _any_ frame and runs at a solid 60 fps, even after minutes of gameplay.

Now with Godot I also have another problem (which could go to its own issue if it's really different): if I maximize the window, there is 20% chance I will get epileptic stuttering as if two backbuffers were wrongly swapping (one frame on two shows the 2nd frame behind or something like that). It's very difficult to get a screencapture of this, my phone camera is too crappy to see that and using OBS the stutter disappears. It can also disappear randomly depending on what happens in the game or if the window is resized. I can reproduce it very easily in a matter of seconds to a minute, it's a bit random.

EDIT: I managed to capture these things with OBS, I just forgot to set FPS back to 60:
http://zylannprods.fr/lab/godot/videos/stuttering_motion_example.mp4
The game here is exported. You can see some stutter, then the epileptic one after a few resizes.

Edit 2: I found that actually the (non-epileptic) stutter is not visible on OBS, as if frame dropping was not a thing on recorded videos. I found that also when recording my own game WIP video. Although I felt frame dropping while playing in debug mode, when I watched the video there was not a single frame drop O_O So my conclusion on this kind of stutter is... it's not frame drop. It's just waiting 1 frame more to display the next one... I guess? That's what V-sync is doing, so I disabled V-sync and I got rid of some of the stutter, but I get mild tearing. In a 2D game with 4 sprites^^"

My specs:
Windows 10 64 bits MSI laptop, plugged in,
nVidia GeForce 940M graphic card (I also take care of running games _not_ with Intel Integrated Graphics).

Ok, I just tried to set my refresh rate to 144Hz from 60Hz and tried the "Motion Test" demo and run the project.
Jittering stopped for "Idle Process Animation" and "Idle Process Code" preview cars. Other two are slightly vibrating though. I'm guessing it is caused something because of refresh rate of monitor or driver related.

EDIT: Ok this is strange but it fixed my issue, I switched back to 60Hz and tried "Motion Test" demo with 2.1 stable version. None of them were jittering at all. I even tried to uninstall and install the engine back and restarted my pc but it didn't bring jittering back at all. I suggest to switch monitor refresh rate to 144Hz and then switching back to 60Hz to fix the issue. I'm not sure if this is a permanent fix though.

Ok this time I found the issue. It was because of Vsync. All I had to do was go into project settings and check the box called "Vsync" and uncheck the "On" box front of it. It fixed my jittering issue.

I tried it with unchecking Vsync - it jitters a lot less but still jitters (starts halfway through the second time the cars cross the scene now instead of the first time they go across which is what it used to do.)

Anyone? This issue is killing me - even a blank scene with a single moving sprite shows this issue!!! I'm not game to invest a lot into a project in Godot as I can't get even something simple looking smooth.

no idea, it seems it is very platform and driver dependent, most people
with issues has Noveau on Linux

On Sat, Jan 21, 2017 at 8:11 PM, balloonpopper notifications@github.com
wrote:

Anyone? This issue is killing me - even a blank scene with a single moving
sprite shows this issue!!! I'm not game to invest a lot into a project in
Godot as I can't get even something simple looking smooth.


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/2043#issuecomment-274294569,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z2_ntfMjwxKrpXwliFiGYRNL8Q9f5ks5rUpCVgaJpZM4E6yMX
.

It also happens on every Android device with Qualcomm Adreno gpu (I tried on a tegra 3 tablet and it was smooth)

I'm on Windows 10 (NVidia 970 graphics) and it's consistently broken for me (latest windows drivers installed).

I just got it to mostly disappear. Playing with both settings for vsync and use_2d_pixel_snap caused it to go away.
Actually, on further review I think it is vsync related only. As @JustDevs noted earlier, ticking the "use_vsync" property, but unticking the "on" button for it seems to stop the shuddering in most cases. On some runs, all cars progress at the same speed without shuddering. On some runs cars 2 and 4 (the "fixed" cars) have issues. On some runs they shudder a little, on some they shudder a lot - no idea why it's not consistent, but at least cars 1 and 3 (and the sprites in my own test program) are now consistently moving without shuddering.

Any takers on why there's two checkboxes against that setting? It's not intuitive to have two "on" buttons for the setting. What's the difference between the item's two checkboxes?

the only way to get smooth framerate (not jitter) on Windows is going
fullscreen, also you have to enable vsync both on driver and in Godot.

On Sun, Jan 22, 2017 at 6:28 AM, balloonpopper notifications@github.com
wrote:

I'm on Windows 10 (NVidia 970 graphics) and it's consistently broken for
me.


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/2043#issuecomment-274319653,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z247gLG5g_6wQxnRFabwcmjpGMTw4ks5rUyEugaJpZM4E6yMX
.

What's the difference between the two checkboxes on the "use_vsync" setting please @reduz ?

the other checkbox is to persist the property, this was removed in Godot 3.0

On Sun, Jan 22, 2017 at 8:55 AM, balloonpopper notifications@github.com
wrote:

What's the difference between the two checkboxes on the "use_vsync"
setting please @reduz https://github.com/reduz ?


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/2043#issuecomment-274326467,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z27PdpmxJZn9TDuqhKytw3yHyB-_Tks5rU0OsgaJpZM4E6yMX
.

Hmmm, no idea what persisting it does, but it sounds like I won't have to worry about it soon anyway! Cheers!

"persisting" means "remember the setting between executions of the editor"

This jitter exists on every computer I've tried Godot on (using Motion test/Space shooter/a simple moving sprite). I've tried across three Windows machines (ranging from 3 years old to brand new, all with modern graphics cards), and two Linux machines (on Gnome + Archlinux). All of them have varying amounts of jitter, sometimes it's only every 5 - 10 seconds, and sometimes it's every second. No combination of driver/Godot vsync configuration seemed to fix it, nor did the latest git commit. It's very jarring and is not a simple frame skip (it seems to jump backward a frame, or skip many frames). Let me know if you want me to try any tests.

if the jitter is every a few seconds, this is normal OS jitter, it's pretty
much unavoidable and it's there in all games. Try enabling vsync in your
project to help compensate it

On Wed, Feb 8, 2017 at 10:14 PM, William Angell notifications@github.com
wrote:

This jitter exists on every computer I've tried Godot on (using Motion
test/Space shooter/a simple moving sprite). I've tried across three Windows
machines (ranging from 3 years old to brand new, all with modern graphics
cards), and two Linux machines (on Gnome + Archlinux). All of them have
varying amounts of jitter, sometimes it's only every 5 - 10 seconds, and
sometimes it's every second. No combination of driver/Godot vsync
configuration seemed to fix it, nor did the latest git commit. It's very
jarring and is not a simple frame skip (it seems to jump backward a frame,
or skip many frames). Let me know if you want me to try any tests.


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/2043#issuecomment-278516267,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z2_VRFoe3oWlc0Fsi6U4wszc1w_Mqks5ramiBgaJpZM4E6yMX
.

Jittering here too on windows 10 with i5 6500, 16gb RAM, GeForce 970GTX and godot 2.1.2
partially solved disabling vsync and setting a fixed fps using OS.set_target_fps
worth noticing that with vsync turned on i got the jitter on both windowed and fullscreen!
I hope this issue will be fixed for 3.0 :(

"and it's there in all games"
Do you really think it would be such a common problem if people were complaining about something that's normal with all their other games? Come on, man. Normal is not the case here so far as I can see.

Zylann (your description fits this problem very well) and anyone else, if you have an NVIDIA GPU, try turning 'Threaded optimisation' to OFF (not to Auto to which it is automatically set, but to OFF) in your control panel. It causes known stuttering/jittering/thrashing with other rendering libraries on OPEN GL, and I have suffered with this myself. (SFML is an example (the OP isn't me)) https://en.sfml-dev.org/forums/index.php?topic=16449.0 If this works for you, please let me know.

In motion test, I have noticed have zero jitter with latest nvidia drivers on Ubuntu 16.10 under Gnome, some on windows 10 fixed process animation, for both 2.1.2 and recent 3.0 builds, nouveau is terrible (worse on AMD but Gallium is getting better than a year ago).

Drivers and compositor affect this, it seems.

we make games for others to play.. would be difficult to explain to them, how to set "Threaded optimization", or other settings..
on full screen (windows 8), seems to be very smooth though..only the fixed process stutters from time to time.

As mentioned before, this is not a godot problem. If It does not happen in
other games may be an optical illusion or true.
It is possible Godot does things that the driver does not like due bugs or
simply due to no one taking the same approach.
If so, tough luck, try to report to whoever makes the driver.

Godot uses pure OpenGL, no OS specific code is used, so it is impossible
that Godot is reponsible for the behavior.

On Apr 4, 2017 10:49 AM, "Lucian" notifications@github.com wrote:

we make games for others to play.. would be difficult to explain to them,
how to set "Threaded optimization", or other settings..


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/2043#issuecomment-291505339,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z23BFXF66gZWOA7f1jN1f4GGOnHgJks5rskpjgaJpZM4E6yMX
.

I had terrible jittery movement with moving 2d sprites. Thanks to @JamesCraster I got rid of those by turning off the threaded optimization in the Nvidia drivers (I am on Windows 10). Either that, or playing full-screen prevents the jitters.

I still do experience hiccups every 5~8 seconds, but those are caused by the OS (I see these occur in most games: webGL, and other opengl based ones).

This is not a Godot issue, in my opinion. On an iMac that I tested this with there were no jitters either. Linux Mint machine worked fine too. And two older XP machines seemed to have no issues either - just my Nivida 590GTX machine had the jittery movement, which is now solved.

@Rayek, I'm glad to know that I helped! The difficulty is that players may not appreciate being told to change their Nvidia Control Panel settings. There is a way of creating an application profile for your game by using NVAPI (although I have never tried this approach.) I was initially considering Godot as a way of removing such issues, but it seems they are everywhere.

Edit: sorry about the edit, I thought better of my second paragraph a moment after posting - I don't know much about Godot, so I shouldn't really comment on its features outside of this issue :)

Its in the todo, maybe for 3 as physics engine rewrite is pending

On May 2, 2017 9:18 PM, "JamesCraster" notifications@github.com wrote:

@Rayek https://github.com/Rayek, glad to know that I helped! The
difficulty is that players may not appreciate being told to change their
Nvidia Control Panel settings. There is a way of creating an application
profile for your game by using NVAPI (although I have never tried this
approach.) I was initially considering Godot as a way of removing such
issues, but it seems they are endemic, unfortunately.

Changing the subject, I am a little surprised that Godot does not have
rigid body interpolation (as it is in Unity).


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/2043#issuecomment-298748701,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z28tSaaUBbhjrZtNKW1xshKCK-x-Tks5r14-IgaJpZM4E6yMX
.

Er 3.1

On May 2, 2017 9:25 PM, wrote:

Its in the todo, maybe for 3 as physics engine rewrite is pending

On May 2, 2017 9:18 PM, "JamesCraster" notifications@github.com wrote:

@Rayek https://github.com/Rayek, glad to know that I helped! The
difficulty is that players may not appreciate being told to change their
Nvidia Control Panel settings. There is a way of creating an application
profile for your game by using NVAPI (although I have never tried this
approach.) I was initially considering Godot as a way of removing such
issues, but it seems they are endemic, unfortunately.

Changing the subject, I am a little surprised that Godot does not have
rigid body interpolation (as it is in Unity).


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/2043#issuecomment-298748701,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z28tSaaUBbhjrZtNKW1xshKCK-x-Tks5r14-IgaJpZM4E6yMX
.

I don't believe this is a driver issue folks, I did some extreme testing. Not a vsync issue either

Issue that solves it is: Image loader -> filter. Enable this, and no jitter whatsoever.

It's something internal I think with rounding pixels or something :P. Phaser had this same jitter problem and they added a setting called "roundPixels = true". Maybe godot can implement this option.

It's fixed by enabling filter in the image loader settings. However, some sprites I don't want to have the filter tag. I know we can choose whatever texture we want to have specific flags, but if there are any w/o the filter flag in the level, and the camera moves, you then just see jitter for that specific sprite. Which is just as bad.

I think it's a rounding pixel issue internally on textures only @reduz, @akien-mga, @bojidar-bg or someone really familiar with the scene renderer can take a deeper look

Also to add, I believe the jitter is actually not _jittering_ at the sub particular pixel level. Look:

Jitter: w/o filter

No jitter: Filter Enabled:

The pixels at the very edges of the textures change in and out in a diagonal pattern (hard to tell in these gifs), which creates the illusion of jitteriness. I think it's not really a jitter, it's just the edges are not squared off (floating point / rounding issue) with the textures maybe?

That last animation is not jitter, that is good old aliasing.

On May 3, 2017 5:16 AM, "Dillybob92" notifications@github.com wrote:

Also to add, I believe the jitter is actually not jittering at the sub
particular pixel level. Look:

Jitter: w/o filter enabled

https://camo.githubusercontent.com/9aa939513783ee1de0ac708cf83e0542d1d4350b/68747470733a2f2f692e6779617a6f2e636f6d2f64666362646436666535666566616330353138666633383366623662653933362e676966

No jitter: Filter Enabled:

https://camo.githubusercontent.com/e50e3c316a67efeea730e7c1b2801846f4b53fc0/68747470733a2f2f692e6779617a6f2e636f6d2f65376333313035333937363836386263393034633463336335626638313739652e676966

The pixels at the very edges of the textures change in and out in a
diagonal pattern (hard to tell in these gifs), which creates the illusion
of jitteriness. I think it's not really a jitter, it's just the edges are
not squared off (floating point / rounding issue) with the textures maybe?


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/2043#issuecomment-298819863,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z2zBrshrRNtWcqtyVjqBK1ogBRF3Sks5r1_-VgaJpZM4E6yMX
.

Ah nevermind, you probably mean the floor.. yes if you want sub pixel you
need filtering, there is no way around it.

On May 3, 2017 8:10 AM, "Juan Linietsky" reduzio@gmail.com wrote:

That last animation is not jitter, that is good old aliasing.

On May 3, 2017 5:16 AM, "Dillybob92" notifications@github.com wrote:

Also to add, I believe the jitter is actually not jittering at the sub
particular pixel level. Look:

Jitter: w/o filter enabled

https://camo.githubusercontent.com/9aa939513783ee1de0ac708cf83e0542d1d4350b/68747470733a2f2f692e6779617a6f2e636f6d2f64666362646436666535666566616330353138666633383366623662653933362e676966

No jitter: Filter Enabled:

https://camo.githubusercontent.com/e50e3c316a67efeea730e7c1b2801846f4b53fc0/68747470733a2f2f692e6779617a6f2e636f6d2f65376333313035333937363836386263393034633463336335626638313739652e676966

The pixels at the very edges of the textures change in and out in a
diagonal pattern (hard to tell in these gifs), which creates the illusion
of jitteriness. I think it's not really a jitter, it's just the edges are
not squared off (floating point / rounding issue) with the textures maybe?


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/2043#issuecomment-298819863,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z2zBrshrRNtWcqtyVjqBK1ogBRF3Sks5r1_-VgaJpZM4E6yMX
.

@reduz i see. yeah i was mostly showing the "jitter" on the tree branch. I guess I can enable filter globally then, and just use the custom flags for individual sprites (filter=false) for temporary fix.

e: For anyone who sees this and has problems this is what I did:

Filter enabled globally for world / character sprites, filter disabled for UI / Sprites under a Canvas Layer. I don't know how pixel games deal with it though as that filter will hurt their sprites "pixel effect", but allow a smooth, non jittering effect.

However, with those games the jitter I think is a lot less noticable just because of the nature of pixel gameplay

posting a sum of #8800

In my case, tinkering with vsync worked, just like JustDevs commented on Nov 21, 2016.
I needed to specifically set the vsync's persistence on in project settings, but keep vsync off. This was the only combination that worked for me to not have stutters.
System: Windows 8.1, Godot 2.1.3 , asus rog g751jy laptop , gtx 980m, latest drivers i think.

I will kick to 3.1, where we might implement fixed step interpolation

I don't know if this related or not, just want to share. I got this problem when creating pixel art game, but, when I make the camera position always at a rounded point, the problem was gone.

It's still a high priority to me. The bug shouldn't be closed purely on
the length of time it's been open when it's still a valid problem.
Hopefully developers will see the 2.5 years as reasoning for giving it a
higher priority.

@Pegus1936 This has been tagged 3.1, and it will be fixed (or worked around) after 3.0 stable comes out, not before.

If you want an informed opinion on what happened here that led to the deletion of comments, either read this https://www.reddit.com/r/gamedev/comments/7gmtxl/godot_30_beta_1_is_there_right_in_time_for_ludum/dqk9nel/ while making sure you read the developers' point of view, or take a look at the facebook group, there is a pretty big discussion in a relatively recent post.

@ArisKallergis the guy who posted before you is clearly another incarnation of the guy who led to the problems.

I also experience a lot of micro-stuttering/jittering both on Godot 2.1.4 and on 3.0 beta1_win64. I'm on Win 10 Pro x64, with the latest driver for a GTX 780Ti.
If I disable the Vsync, it helps a bit, but then in fullscreen I get a lot of tearing for the fast moving foreground parallax layers (it doesn't happen for the background layers though).

The only solution that fixed everything for me was Vsync ON + Threaded Optimization OFF (inside the Nvidia Control Panel settings). So just to be clear, this combination fixes the "laggy" side scrolling in both above mentioned versions of Godot.

Now I wonder if there is a way to achieve this from inside the engine, and avoid messing around with custom Nvidia profiles. Thanks!

Also I observe a problem on Linux (LinuxMint, ElementaryOS) and Win 8.1 (3 different PCs with different productivity). Many variants have been revised, but the problem is clearly visible even for simple code. For example,

# Scene:
# 
# | Node
# |-- Sprite

extends Node

func _physics_process(delta):
    $Sprite.position += 100 * delta 

I have been dealing with jitter for weeks now, and handed my game over to my friend to test it and he reported no stutter at all. My card is a NVIDIA card (GTX 1070 to be exact) while his is AMD.

We both have Windows 10 and latest drivers installed.

I tested on an nVidia 660 and 2 AMD video cards in the laptops. The problem is clearly visible when using Camera2D, or rather when using smoothing in It. Without smoothing flicker is not so noticeable, but it is still there.

Good news finally, a fix for (some) jittering causes has been merged in the master branch a while ago (#17353).

Could you test it and check if it fixes the jittering issues on your hardware? You'd need to compile from source, or use a dev build from https://hugo.pro/projects/godot-builds/

Occasional stuttering still happens on linux, amdgpu with recent mesa, but probably related to vsync and driver only, no more camera update or physics process issues.

Occasional stuttering still happens on linux, amdgpu with recent mesa, but probably related to vsync and driver only, no more camera update or physics process issues.

I've found that a lot of the jitter I see is related to using Plasma/KWin as window manager. When I switch to a less intrusive window manager like Openbox (on the same system), I have perfectly smooth _process and _physics_process, including with vsync.

I've found that a lot of the jitter I see is related to using Plasma/KWin as window manager. When I switch to a less intrusive window manager like Openbox (on the same system), I have perfectly smooth _process and _physics_process, including with vsync.

Have you tried disabling compositing in KWin? X11 compositing heavily slows down 3D rendering in my experience (and adds significant latency).

(Shift+Alt+F12 should toggle the compositor by default.)

There are also some CPU and GPU options on Plasma settings that may affect Godot too.

Just don't forget that Windows is still a thing :) In the last 8-9 months I tried again and again to fix this micro-stutter issue so that my train game demo runs smoothly, to no avail. And the crazy thing is that Unity doesn't do that.

@mikeandtherest just remember that Unity is not a 2D engine (and some configurations may produce some jittering), Godot may not show stuttering effect on 3D either.
In any case, have you tried a master build? Just do not use it on your main project.

@eon-s Godot does show stuttering in 3D for me, but it's random. Sometimes it runs flawlessly for a few minutes, sometimes it starts immediately stuttering. I'm curious why "2D" vs "3D" would make a difference? They both draw polygons with a bunch of shaders, right?

Ocassional Stutter (like every a few seconds) is NOT jitter. Jitter happens constantly. I think jitter is pretty much gone at this point in master. Stutter has more to do about the OS interrupting the game process because anything that may be going on (such as many Chrome tabs open :P )

Also, on fullscreen, Windows gives more priority to the process so there is less chance of stutter. Probably the only difference between Unity and Godot is that one uses Direct3D while the other is OpenGL, but I am not convinced it's enough. Maybe there is some extra trick that needs to be done to get a bit more priority that Godot is not doing, but I am clueless honestly.

Did people try this? I wasn't confident in the default setting (though I cannot change it because it throws me an "Access Denied").
image

@Zylann Just out of curiosity, are you on a laptop? Because that one doesn't seem to have any kind of effect on my desktop PC.

@mikeandtherest I am on a desktop PC, but I can't test that because it throws me an error.

@Zylann Even if that worked, I wouldn't want to be telling all my customers to change their PC settings to make my game more playable. A game should work fine on a decent computer with default graphics settings. Not once have I ever encountered a game that required me to change my graphics settings. (And when I thought that I had to in order to fix some games not running right, it ended up having no effect.)

@11clock of course, its just that I had problems with this settings before (and still am, as well as all nVidia Windows users), and I thought it could have an impact on this as well. Turns out it doesn't then.

I am in favor of closing this issue, because Jitter itself within the engine has been effectively resolved in master.

Remaining issues are about stutter, more OS dependent, and likely related to process priority, OpenGL driver or compositing.

Reports should be done with a lot more focus on hardware, whether testing happened in fullscreen, etc.

This may need to be closed, yes, and leave the others that are more specific, also I guess that we will see new ones with the new (old) renderer.

Agreed, we can say that jitter issues have been resolved with #17353.

Stutter issues can still remain on some configurations, but are tracked in various other issues already.

Was this page helpful?
0 / 5 - 0 ratings