-
-
Notifications
You must be signed in to change notification settings - Fork 3.4k
Expand the sections regarding Jitter, Stutter and Latency #10952
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great! I've made stylistic suggestions but the contents are pretty solid.
We should see if we can remake the Windows screenshots with fully English text later on, but it's not critical for getting this merged as the locations for the settings are obvious enough.
Thanks @Calinou for the editorial review. I've applied your fixes. I've also added 2 more changes:
Agreed. I tried to get them in full English but some text stayed in Spanish even after installing the English language pack and switching to it. |
- `Game Bar <https://www.microsoft.com/windows/tips/game-bar>`__ as previously covered, Game Bar may prevent Godot from entering "Hardware Independent Flip". Disable it to see if that fixes problems. | ||
- `Discord Game Overlay <https://support.discord.com/hc/en-us/articles/217659737-Game-Overlay-101#h_01JPT35B3CA450SKEF4N9DX70R>`__. Same deal as with the other overlays. | ||
- WeChat / WeGame is known to cause problems with Godot (`#83307 <https://github.com/godotengine/godot/issues/83307>`__, `#81652 <https://github.com/godotengine/godot/issues/81652>`__). Either uninstall it, remove the implicit Vulkan Layer, or use the `VK_LOADER_LAYERS_DISABLE environment variable <https://github.com/godotengine/godot/issues/81652#issuecomment-2510962586>`__ to disable it. | ||
- RGB Led control software. A lot of software to control RGB lights (whether it's the keyboard, mouse, RAM sticks, fans, GPU, etc) are poorly written and known to cause stutter and jitter problems. Uninstall them. Prefer purchasing devices that are compatible with `Windows 11' Dynamic Lighting <https://support.microsoft.com/en-us/windows/control-dynamic-lighting-devices-in-windows-8e8f22e3-e820-476c-8f9d-9ffc7b6ffcd2>`__ control. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- RGB Led control software. A lot of software to control RGB lights (whether it's the keyboard, mouse, RAM sticks, fans, GPU, etc) are poorly written and known to cause stutter and jitter problems. Uninstall them. Prefer purchasing devices that are compatible with `Windows 11' Dynamic Lighting <https://support.microsoft.com/en-us/windows/control-dynamic-lighting-devices-in-windows-8e8f22e3-e820-476c-8f9d-9ffc7b6ffcd2>`__ control. | |
- RGB LED control software. A lot of software to control RGB lights (whether it's the keyboard, mouse, RAM sticks, fans, GPU, etc) are poorly written and known to cause stutter and jitter problems. Uninstall them. Prefer purchasing devices that are compatible with `Windows 11' Dynamic Lighting <https://support.microsoft.com/en-us/windows/control-dynamic-lighting-devices-in-windows-8e8f22e3-e820-476c-8f9d-9ffc7b6ffcd2>`__ control. |
- `CPU-X <https://github.com/TheTumultuousUnicornOfDarkness/CPU-X>`__. | ||
- Linux Mint's Mate panel application "CPU Frequency Scaling Monitor" applet. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- `CPU-X <https://github.com/TheTumultuousUnicornOfDarkness/CPU-X>`__. | |
- Linux Mint's Mate panel application "CPU Frequency Scaling Monitor" applet. | |
- `CPU-X <https://github.com/TheTumultuousUnicornOfDarkness/CPU-X>`__. | |
- Linux Mint's Mate panel application "CPU Frequency Scaling Monitor" applet. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should be good to merge after applying suggestions and rebasing.
Broken monitor firmware | ||
~~~~~~~~~~~~~~~~~~~~~~~ | ||
|
||
Similar to a bad HDMI / DP cable, a poor interaction between your monitor firmware and |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Similar to a bad HDMI / DP cable, a poor interaction between your monitor firmware and | |
Similar to a bad HDMI / DP cable, poor interaction between your monitor firmware and |
--------------------- | ||
|
||
After an extensive evaluation of reported tickets and thorough testing of Godot on different hardware, | ||
we found that Godot is blamed for many stutter, jitter or input lag that is not caused by Godot, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we found that Godot is blamed for many stutter, jitter or input lag that is not caused by Godot, | |
we found that Godot is blamed for many stutter, jitter, or input lag problems that are not caused by Godot, |
Please use Oxford comma.
Bad HDMI / DisplayPort cable | ||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
|
||
A broken cable may appear to function properly, but cause signal synchronization |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A broken cable may appear to function properly, but cause signal synchronization | |
A broken cable may appear to function properly, but causes signal synchronization |
and frequency and display it on an overlay or similar. For example, running **nvidia-smi** once | ||
per second completely ruins the gaming experience. | ||
|
||
If an app can tell you GPU frequency, fan speed or temperature, then it is a suspect. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If an app can tell you GPU frequency, fan speed or temperature, then it is a suspect. | |
If an app can tell you the GPU frequency, fan speed, or temperature, then it is a suspect. |
|
||
However there are a few things we've noticed (this list is not exhaustive): | ||
|
||
- `OBS (Open Broadcaster Software) <https://obsproject.com/>`__ installs an implicit Vulkan Layer. Older versions of OBS caused problems with Godot. They should've been fixed, but implicit layers can always reintroduce problems. If you've got OBS Studio and suffer from stutter, jitter, or latency issues, try upgrading to latest version or uninstalling it. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- `OBS (Open Broadcaster Software) <https://obsproject.com/>`__ installs an implicit Vulkan Layer. Older versions of OBS caused problems with Godot. They should've been fixed, but implicit layers can always reintroduce problems. If you've got OBS Studio and suffer from stutter, jitter, or latency issues, try upgrading to latest version or uninstalling it. | |
- `OBS (Open Broadcaster Software) <https://obsproject.com/>`__ installs an implicit Vulkan Layer. Older versions of OBS caused problems with Godot. They should've been fixed, but implicit layers can always reintroduce problems. If you've got OBS Studio and suffer from stutter, jitter, or latency issues, try upgrading to the latest version or uninstalling it. |
|
||
- `OBS (Open Broadcaster Software) <https://obsproject.com/>`__ installs an implicit Vulkan Layer. Older versions of OBS caused problems with Godot. They should've been fixed, but implicit layers can always reintroduce problems. If you've got OBS Studio and suffer from stutter, jitter, or latency issues, try upgrading to latest version or uninstalling it. | ||
- `RTSS (aka Rivatuner Statistics Server) <https://www.guru3d.com/download/rtss-rivatuner-statistics-server-download/>`__ installs an implicit Vulkan Layer and tries to inject inself into D3D12. Like OBS, this can cause problems. Try uninstalling it. | ||
- `MSI Afterburner <https://www.msi.com/Landing/afterburner/graphics-cards>`__ uses RTSS under the hood and is subject to the same problems. Additionally, monitoring certain sensors (like GPU voltage and power draw) is known to cause stutter on certain hardware configurations. Try updating to latest version or uninstalling it. If the problem is resolved, you may try to narrow down which sensor is causing problems. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- `MSI Afterburner <https://www.msi.com/Landing/afterburner/graphics-cards>`__ uses RTSS under the hood and is subject to the same problems. Additionally, monitoring certain sensors (like GPU voltage and power draw) is known to cause stutter on certain hardware configurations. Try updating to latest version or uninstalling it. If the problem is resolved, you may try to narrow down which sensor is causing problems. | |
- `MSI Afterburner <https://www.msi.com/Landing/afterburner/graphics-cards>`__ uses RTSS under the hood and is subject to the same problems. Additionally, monitoring certain sensors (like GPU voltage and power draw) is known to cause stutter on certain hardware configurations. Try updating to the latest version or uninstalling it. If the problem is resolved, you may try to narrow down which sensor is causing problems. |
|
||
Thus, by launching with ``--pacing-mode-mask 0x01`` we can experience how it runs by using ``SEQUENTIAL_SYNC``. | ||
Now that we are in sequential sync pacing mode; again we can try ``--latency-mode`` makes any difference. | ||
You can try ``low_extreme`` (``SEQUENTIAL``), ``low`` (``AUTO``) and ``medium`` (``PARALLEL``) to see if they make a difference. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You can try ``low_extreme`` (``SEQUENTIAL``), ``low`` (``AUTO``) and ``medium`` (``PARALLEL``) to see if they make a difference. | |
You can try ``low_extreme`` (``SEQUENTIAL``), ``low`` (``AUTO``), and ``medium`` (``PARALLEL``) to see if they make a difference. |
This guide has basically two parts:
This is my first PR to godot-docs so please point out if I made a mistake and I apologize any mistake that could've been solved with a RTFM (I did read it, but I probably missed something).