Skip to content
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

Editor doesn't draw properly (one frame lag) on systems with Intel drivers (driver vendor bug) #23069

Closed
OttisWang opened this issue Oct 17, 2018 · 22 comments

Comments

@OttisWang
Copy link

Godot version:

v3.0.6 can duplicate issue
v2.1.5 cannot duplicate issue

OS/device including version:

With Intel Coffee lake-H platform + Intel GFX driver 24.20.100.6170

Issue description:

The application will start to open but not progress into the full dashboard unless you click on the task bar or any other open process. It is like the application is halting slightly due to the driver.
Once you click on the taskbar the application will fully open and run.

Additionally for you to use the application in full you have to click the taskbar or any other open window to make GoDOT react.

Steps to reproduce:

The application will start to open but not progress into the full dashboard unless you click on the task bar or any other open process. It is like the application is halting slightly due to the driver.
Once you click on the taskbar the application will fully open and run.

Additionally for you to use the application in full you have to click the taskbar or any other open window to make GoDOT react.

Minimal reproduction project:

Dell Latitude 5590

@akien-mga akien-mga changed the title GoDOT v3.0.6 problem (2.1.5 didn't see issue) Editor doesn't start/draw properly on Dell Latitude 5590 (Intel Coffee Lake) Oct 17, 2018
@akien-mga
Copy link
Member

Thanks for the report. I assume this is on Windows 10?

Would it be possible to include the video you shared with me by email? It makes it easier to understand what's going on.

@akien-mga akien-mga added this to the 3.1 milestone Oct 17, 2018
@OttisWang
Copy link
Author

OttisWang commented Oct 17, 2018 via email

@OttisWang
Copy link
Author

OttisWang commented Oct 18, 2018 via email

@OttisWang
Copy link
Author

OttisWang commented Oct 19, 2018 via email

@akien-mga
Copy link
Member

My best guess is that it's a bug in the OpenGL 3.3 support of the Intel drivers used for that hardware. We've never had any other user reporting this specific issue, so it's very likely hardware/driver specific.

Godot 2.1.x works because it uses OpenGL 2.1, which might be better supported by your drivers. In our experience, Intel drivers for OpenGL 3+ on Windows 10 are iffy - we've had reports of users where Godot misbehaved on Intel/Windows 10 after a drivers update, so they had to roll back to a previous driver version.

To debug further, you could try to run a development build of Godot 3.1 (e.g. from https://hugo.pro/projects/godot-builds/ - they are "unofficial" but provided by a trusted Godot developer). With this version you can run with the --video-driver GLES2 switch (i.e. godot.exe --video-driver GLES2) to force using OpenGL 2.1 instead of OpenGL 3.3. If this works better, and godot.exe --video-driver GLES3 still reproduces the bug, that would confirm that the OpenGL drivers are to blame).

@OttisWang
Copy link
Author

OttisWang commented Oct 22, 2018 via email

@OttisWang
Copy link
Author

OttisWang commented Oct 22, 2018 via email

@akien-mga
Copy link
Member

Here's a video of the issue provided by Gary (zipped as GitHub doesn't allow attaching .mp4 files): godot-dell.zip

@punto-
Copy link
Contributor

punto- commented Oct 23, 2018

The project manager (and the editor) work on a "low cpu mode", where the screen is only refreshed when something changes. From what you describe, the visible frame is 1 frame behind the latest one, so maybe it's an issue with the frame swapping? Have you tried one of the demos? (for example https://github.com/godotengine/godot-demo-projects/tree/master/2d/platformer ) I assume it'll be 1 frame behind but it won't be noticeable since it'll be constantly refreshing the screen

@akien-mga
Copy link
Member

I made this demo as a potential way to test @punto-'s hypothesis: Test Frame Swapping.zip

You should be able to unzip it, import in the Godot 3.0.6 project manager and run it. Then there is a checkbox to toggle the "low processor usage" mode, and an input field where you can check if you can reproduce the text input lag shown in the video.

@akien-mga
Copy link
Member

Another way to test while editing a project is to set the "Update Always" refresh mode which disables (among other things) the low processor usage mode.

You can do it by clicking on the spinning wheel in the top right corner and selecting "Update Always":
screenshot_20181023_120346
It will show a warning that this option is deprecated, but it gets activated nevertheless.

@akien-mga akien-mga changed the title Editor doesn't start/draw properly on Dell Latitude 5590 (Intel Coffee Lake) Editor doesn't draw properly (one frame lag) on Dell Latitude 5590 (Intel Coffee Lake) Oct 25, 2018
@akien-mga
Copy link
Member

We've never had any other user reporting this specific issue, so it's very likely hardware/driver specific.

I'm actually wrong here as we recently had another report of such issue with Intel Graphics HD 515 (Driver 10/1/2018, 25.20.100.6326) on a Surface Pro 4 (#23228).

And this issue is actually a duplicate of #15953 which was closed as being caused by a regression in Intel drivers (21.x are said to work fine, while 24/25 are broken).

Yet let's keep this issue open as we're doing some progress in the diagnostic nevertheless, and it being reported by Dell support guys means that we can hopefully have access to Intel drivers engineer to help figure out the regression in their drivers.

#15953 mentions that running Godot with the --verbose flag works around the issue. Not sure why as that flag only implies that more print statements will be run, but that implies more flushing of stdout, not any relation to frame draw calls in theory...

@akien-mga akien-mga changed the title Editor doesn't draw properly (one frame lag) on Dell Latitude 5590 (Intel Coffee Lake) Editor doesn't draw properly (one frame lag) on systems with Intel drivers (driver vendor bug) Jan 29, 2019
@starsparrow
Copy link

starsparrow commented Feb 15, 2019

I am also experiencing this.

Collected using Windows System Information utility:

System Summary

Property Value
OS Name Microsoft Windows 10 Enterprise
Version 10.0.17134 Build 17134
System Manufacturer Dell Inc.
System Model Latitude 5480
Processor Intel(R) Core(TM) i7-7820HQ CPU @ 2.90GHz, 2901 Mhz, 4 Core(s), 8 Logical Processor(s)
BIOS Version/Date Dell Inc. 1.6.4, 9/12/2017
Hardware Abstraction Layer Version = "10.0.17134.556"
Installed Physical Memory (RAM) 16.0 GB
Total Physical Memory 15.9 GB
Available Physical Memory 6.50 GB
Total Virtual Memory 19.9 GB
Available Virtual Memory 5.70 GB
Page File Space 4.00 GB

Components > Display

Property Value
Name Intel(R) HD Graphics 630
PNP Device ID PCI\VEN_8086&DEV_591B&SUBSYS_07D01028&REV_04\3&11583659&0&10
Adapter RAM 1.00 GB (1,073,741,824 bytes)
Installed Drivers C:\WINDOWS\System32\DriverStore\FileRepository\ki 129523.inf_amd64_32947eecf8f3e231\igdumdim64.dll,C:\WINDOWS\System32\DriverStore\FileRepository\ki 129523.inf_amd64_32947eecf8f3e231\igd10iumd64.dll,C:\WINDOWS\System32\DriverStore\FileRepository\ki 129523.inf_amd64_32947eecf8f3e231\igd10iumd64.dll,C:\WINDOWS\System32\DriverStore\FileRepository\ki 129523.inf_amd64_32947eecf8f3e231\igd12umd64.dll
Driver Version 24.20.100.6286
INF File oem76.inf (iKBLD_w10_DS_DC5 section)
Driver c:\windows\system32\driverstore\filerepository\ki 129523.inf_amd64_32947eecf8f3e231\igdkmd64.sys (24.20.100.6286, 13.42 MB (14,072,712 bytes), 10/3/2018 9:34 AM)

@starsparrow
Copy link

starsparrow commented Feb 15, 2019

@akien-mga said:

#15953 mentions that running Godot with the --verbose flag works around the issue. Not sure why as that flag only implies that more print statements will be run, but that implies more flushing of stdout, not any relation to frame draw calls in theory...

I can understand your skepticism and/or perplexion, but I have just confirmed this as a viable workaround. Made the application usable for me!

@akien-mga
Copy link
Member

akien-mga commented Feb 27, 2019

A fix from Intel should be included in the 25.20.100 series, which will likely reach most users in production towards mid/late-March.

If there are Dell users around who can reproduce the issue, you can try the driver update which is already available: https://www.dell.com/support/home/us/en/04/drivers/driversdetails?driverId=2xgkg&lwp=rt

It would be great if you can then confirm that it fixes the issue.

@BlackSabot
Copy link

https://godotengine.org/qa/39060/strange-ui-bug-on-laptop
Still having this issue on an HP laptop. The offered update is not downloadable on this thing (HP apparently customizes these cards) and the latest HP updates don't do it either (tried every single one). Pretty disappointing, but I understand if it's outside Godot devs' control.

@Mastermori
Copy link

Mastermori commented Jan 11, 2020

I had this issue as well and what (confusingly) fixed it for me was activating the update spinner. This can be done in Editor -> Editor Settings -> Interface -> Editor -> Show Update Spinner. I am running windows 10 and I had this issue on all recent Godot versions (stable and beta). I tried this fix on beta 3.2beta5. It probably works now because it updates the spinner, whenever I press anything and thereby advances another frame, making my inputs work right away.

@mphe
Copy link
Contributor

mphe commented Aug 24, 2020

I'm still experiencing this kind of bug in 3.2.2 on Arch with both xf86-video-intel and modesetting driver, independent of compositor, window manager, and desktop environment.
All drivers are up-to-date.

It only happens while running the game. It takes up to 10 seconds until the editor responds to any input, which makes it completely unusable. Especially debugging is just not possible with this bug.
Neither --verbose nor continous UI updates fixed this problem.

It seems to be strongly related to ingame performance. As long as the game runs above 60 FPS the editor has about 1 second input lag. If it drops below it's the mentioned ~10s.

Not sure if it's related, but I also experience heavy performance degredations when using post processing shaders (using SCREEN_TEXTURE), even if the shader does nothing.

System info:

  • Godot 3.2.2.stable.official
  • Linux kernel 5.8.3-arch1-1
  • Intel Core i5-3210M
  • Intel HD Graphics 4000
  • Acer Aspire E1-571G

@Calinou
Copy link
Member

Calinou commented Aug 24, 2020

@mphe This appears to be an unrelated issue. Please open a new issue (but make sure this doesn't happen with any other games or 3D applications first).

@DonniYH
Copy link

DonniYH commented Oct 1, 2020

I had this issue as well and what (confusingly) fixed it for me was activating the update spinner. This can be done in Editor -> Editor Settings -> Interface -> Editor -> Show Update Spinner. I am running windows 10 and I had this issue on all recent Godot versions (stable and beta). I tried this fix on beta 3.2beta5. It probably works now because it updates the spinner, whenever I press anything and thereby advances another frame, making my inputs work right away.

Thank you! Had this issue on my surface 4, this solved the issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

9 participants