godot icon indicating copy to clipboard operation
godot copied to clipboard

Black Flickering on Editor Axes

Open Qainguin opened this issue 1 year ago • 3 comments

Tested versions

  • Reproducible in 4.2.2
  • Not Reproducible in 4.2.1

System information

Godot v4.2.2.stable - macOS 14.1.1 - GLES3 (Compatibility) - Apple M1 - Apple M1 (8 Threads)

Issue description

Certain actions (right-clicking, creating new resources in exports and adding nodes) cause the axes in the editor to flicker black.

Steps to reproduce

  • Create a new project
  • Right-click on a node.

Minimal reproduction project (MRP)

N/A

Qainguin avatar Apr 24 '24 12:04 Qainguin

For me on Linux it doesn't seem to flicker black on specific actions, it's outright invisible: image

I confirm it's not a problem in 4.2.1, so this regressed in 4.2.2. CC @clayjohn

akien-mga avatar Apr 24 '24 15:04 akien-mga

It's a regression from 771db18a5da33d626cb3b212f4fcc8f508afd4d9 / #83895. Reverting it locally solves the issue (also requires reverting 9547818cc0f58d22667a67fb048e08d09c1753e6 first as it modified it further).

I don't have the same problem in master though, so we might be missing another commit, or the cherry-pick was just not suitable for 4.2. CC @clayjohn

For the record, this is on Linux with AMD GPU.

Related to this change, there's also a weird rendering artifact where the 3D lines appear bigger at first when loading the project, then get slimmer.

This is in 4.3-dev (a4fbe4c01f5d4e47bd047b091a65fef9f7eb2cca):

Screenshot_20240424_181624 Screenshot_20240424_181629

In 4.2.2: image image

In 4.2.1: Screenshot_20240424_182708 image (no difference of line width)

akien-mga avatar Apr 24 '24 16:04 akien-mga

@akien-mga Hmmm, I've seen the disappearing grid line issue before. Its very strange that the grid lines and the origin lines are disappearing as they use a totally different method for drawing. I suspect its an issue with our mesh compression code that was fixed in 4.3. Also note, the OP is using the compatibility renderer while you are using the Forward+ renderer.

Can you test changing this line to use fwidthFine() instead? https://github.com/godotengine/godot/blob/4bca2d8bc64e84a764ee656b9c42443b24448f53/editor/plugins/node_3d_editor_plugin.cpp#L6576 I think many AMD devices default to using Coarse if nothing is specified, which could explain your issue.

As for the OP. I can reproduce the flickering black issue on macOS using the compatibility renderer in both 4.2.2 and 4.3 dev 5. So these are definitely different issues

clayjohn avatar Apr 24 '24 18:04 clayjohn