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

Strange tilemap flickering effect in some resolutions #53483

Closed
svprdga opened this issue Oct 6, 2021 · 7 comments
Closed

Strange tilemap flickering effect in some resolutions #53483

svprdga opened this issue Oct 6, 2021 · 7 comments

Comments

@svprdga
Copy link

svprdga commented Oct 6, 2021

Godot version

3.3.4 stable

System information

Linux Mint, GLES3/GLES2, GeForce GTX 1070/PCIe/SSE2

Issue description

I have a pixel art game in which I observe a strange flickering effect in a tilemap when the player is moving.

It's like if a portion of the screen is 1 pixel deviated from it should be. I've tried to record it but for some reason, in the recording the video is OK.

I am playing at fullscreen, but if I launch it windowd in a lower resolution the effect disappears too.

I have tried all of the recommended settings that I could find related to this issue, including:

  • GPU Pixel snap
  • Switching to GLES2 with Nvida Rect Flicker Workaround
  • Removing the smoothness and the drag margins of the camera
  • Change the process mode of the camera

None of the above fixes the flicker effect when I run the game in fullscreen.

What could be the cause of this?

Steps to reproduce

  1. Create a 2D pixel art game
  2. Add a moving object and a tilemap
  3. Play in fullscreen

Minimal reproduction project

No response

@Calinou
Copy link
Member

Calinou commented Oct 6, 2021

@svprdga Please upload a minimal reproduction project to make this easier to troubleshoot.

@jmb462
Copy link
Contributor

jmb462 commented Oct 6, 2021

You tried "Use GPU Pixel Snap" without any success.

Have you tried also "Use Pixel Snap" in rendering/quality/2d/use_pixel_snap ?

image

@jordanlis
Copy link

I have the same issue from the beginning of my project. I wasn't using tilemap at first, so I thought it was related to sprites only. I just finished porting all the tiles to tilesets so now I use tilemaps.
The issue is still there, but only when I'm in windowed mode. When it's fullscreen, it seems okay.
I've tried everything : shader and scripts to improve that, options in the filters, etc. I could try to send a video if I manage to reproduce it.

@lawnjelly
Copy link
Member

Is it similar to #35606?

@svprdga
Copy link
Author

svprdga commented Oct 7, 2021

@Calinou the project I have uses assets that I can't share, but I'll try to change them with free ones and upload a reproducible project.

@jmb462 I have tried to look for the option you mention but I couldn't find it, I don't have a 2d menu under rendering/quality :/

@lawnjelly based on the description provided by the ticket that you mention, it seems that yes, it looks like the same issue.

@lawnjelly
Copy link
Member

There's an extensive literature on this if you search the linked issue and other linked issues and PRs. We did investigate trying to help with this problem in Godot core but it didn't work out.

You could have a look at this for one possible way of dealing with it - but be aware it is a difficult problem for pixel perfect games.
https://github.com/lawnjelly/godot-snapping-demo

@svprdga
Copy link
Author

svprdga commented Oct 7, 2021

I think that I know what's going on.

I usually work on Linux. I have tried to create the exact same project in Unity. When I was running it within the editor everything was normal, but as soon as I have run it in fullscreen the same issue arises.

Then I tried to execute both versions (Godot & Unity) in Windows. Everything worked as expected when running in fullscreen.

After some investigation I have found that my particular graphics card (Nvidia) has some known issues in Linux, and based on the tests that I've done, this seems to be the cause.

I'm closing this issue since this doesn't seem to be an issue with Godot but with my combination of Linux + Nvidia card.

I will try to apply the tips on the demo that you have suggested to me @lawnjelly to minimize the effects of this issue for my Linux players.

Thank you all.

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

6 participants