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

Hovering over a property in the Inspector for over 1 second causes its tooltip to disappear, then continue to blink on and off [Stardock Fences, Kakaotalk] #32990

Open
cosmoddd opened this issue Oct 22, 2019 · 34 comments

Comments

@cosmoddd
Copy link

cosmoddd commented Oct 22, 2019


Bugsquad note: This issue has been confirmed several times already. No need to confirm it further.


Godot version:
3.1.1 Stable

OS/device including version:
Windows 10.0.18362

Issue description:
When hovering over a property in the inspector panel, a description pops up for a second, then blinks away, then comes back. This can't be how it was designed.

Steps to reproduce:
Open a blank project. Hover over any property in the inspector window. Observe the property description appear for a second, then disappear for a fraction of a second, then reappear.

Minimal reproduction project:
Any blank Godot default project.

@cosmoddd cosmoddd changed the title Hovering over a tooltop Hovering over a tooltip for over 1 second causes it to disappear, then continue to blink on and off. Oct 22, 2019
@cosmoddd cosmoddd changed the title Hovering over a tooltip for over 1 second causes it to disappear, then continue to blink on and off. Hovering over a property in the Inspector for over 1 second causes its tooltip to disappear, then continue to blink on and off. Oct 22, 2019
@KoBeWi
Copy link
Member

KoBeWi commented Oct 22, 2019

Does it happen in 3.2 alpha too? I can't reproduce it.

@cosmoddd
Copy link
Author

cosmoddd commented Oct 22, 2019

Were you able to reproduce the issue on 3.1.1 Stable? I've been using the release versions from Itch.io and Steam to test and both versions cause the same issue.

@cosmoddd
Copy link
Author

cosmoddd commented Oct 22, 2019

I don't move my mouse at all when this is happening. GIF Below:
A gif of the problem

@KoBeWi
Copy link
Member

KoBeWi commented Oct 22, 2019

This is 3.1.1
DDaIIALrqU

@cosmoddd
Copy link
Author

cosmoddd commented Oct 22, 2019

OK - I can confirm it doesn't happen on the Itch.io build on my Dell XPS15 Laptop. This seems to an edge case error, though I'm open to ideas in terms of troubleshooting its cause.

@Xrayez
Copy link
Contributor

Xrayez commented Jul 24, 2020

Strangely, this is reproducible easily in 4.0-dev master (Windows), but with regular tooltips.

@Bargeral
Copy link

Came here to post this bug. I am on version 3.2.1 stable.official - and this still a bug.
When I move my mouse over any item with a tooltip in the Inspector or Node tab and let it sit there (hand off mouse) the tool tip comes up for a second, and then it blinks off and back on repeatedly. Just posting to let you know this is still a thing.

@KoBeWi
Copy link
Member

KoBeWi commented Mar 14, 2021

@Bargeral Any more info? OS? GPU? Any video maybe?

@Bargeral
Copy link

@KoBeWi Do'h! Should have thought of that.

Godot.Engine.mp4

sysinfo.txt

@KoBeWi
Copy link
Member

KoBeWi commented Mar 14, 2021

Thanks. Seems like I have similar setup and it doesn't happen to me 🤔
Can you reproduce in newest 3.2.4 rc too?

@Bargeral
Copy link

Downloaded and it has the exact same behavior.

@Bargeral
Copy link

@KoBeWi I found the issue. I have a program called Fences that manages icons on the desktop. Disabling Fences and the problem goes away. re-enable Fences and the problem returns. I'll see if I can open a ticket with them, it would be nice to identify what the root of the issue is in case it might come up with other applications.
@cosmoddd do (did) you use Fences?

@Bargeral
Copy link

Cross referenced https://forums.stardock.com/504151/fences-causes-issues-in-godot-editor

@cosmoddd
Copy link
Author

@KoBeWi I found the issue. I have a program called Fences that manages icons on the desktop. Disabling Fences and the problem goes away. re-enable Fences and the problem returns. I'll see if I can open a ticket with them, it would be nice to identify what the root of the issue is in case it might come up with other applications.
@cosmoddd do (did) you use Fences?

I do use Fences! I'm inclined to believe Fences effects Godot in some way.

Aside from messaging Stardock, what's the way forward here? Is this within the scope of Godot support?

@akien-mga akien-mga changed the title Hovering over a property in the Inspector for over 1 second causes its tooltip to disappear, then continue to blink on and off. Hovering over a property in the Inspector for over 1 second causes its tooltip to disappear, then continue to blink on and off [Stardock Fences] Mar 15, 2021
@akien-mga
Copy link
Member

That's likely outside Godot's scope then, the way we handle tooltips on Windows is not "wrong" per se, but might be different to what native Windows applications, and confuses Fences.

We can keep this issue open for other Fences users to find it and see the cross-referenced Stardock support ticket, but it's unlikely to be fixed on the Godot side (unless Godot 4's new multiple window support happens to fix it by chance).

@Calinou
Copy link
Member

Calinou commented Apr 21, 2021

By the way, it appears this isn't the only third-party software to cause issues with tooltips in Godot: #39008

@Calinou Calinou changed the title Hovering over a property in the Inspector for over 1 second causes its tooltip to disappear, then continue to blink on and off [Stardock Fences] Hovering over a property in the Inspector for over 1 second causes its tooltip to disappear, then continue to blink on and off [Stardock Fences, Kakaotalk] Sep 22, 2021
@coderaurus
Copy link

This occurred to me while I also had Unity open. Neither Stardock Fences or Kakaotalk are installed.

Godot versions 3.3.3, 3.4.3, 3.4.4
Unity 2019.4f.1f1
OS Windows 10

@Kersoph
Copy link

Kersoph commented Apr 7, 2022

I started to strategically go through all programms I use to check the issue. I had similar problems but with custom tooltips in the exported game (described in #59973)
I can reproduce it for this issue as well as the one for custom tooltips by using the Windows Media Player.
As soon as I stop or close the Windows Media Player the issue vanishes. As soon as I open it the issue starts anew. It does not occur in VLC Media Player, Audacity or if I play music through Firefox.

When I run a game: This has the same effect on the custom tooltips (using _make_custom_tooltip) for me but NOT for regular tooltips (Control: Hint: Tooltip) as described in #59973
Perhaps there is a fix to this problem in the regular tooltip - or a mechanic in custom tooltips that leads to this behavior?

Windows 10 x64, NVidia GTX 970, i7-2600K CPU, GLES3
3.4.4-stable and 3.4.3-stable

@Eliwi
Copy link

Eliwi commented May 7, 2022

Having the same issue here, Fences makes tooltips flicker

Windows 10, RTX 2080 Super, Ryzen 9 3900XT
3.4.4-stable, GLES3

@ajhmain
Copy link

ajhmain commented Aug 24, 2022

This issue is a real pain, please fix! The continual hiding and showing of these tool tips makes reading that often very useful information incredibly frustrating. System spec: Windows 10 64 bit, Godot 3.5 stable 64bit (mono).

It is the current Godot implementation of these specific tool-tips that is the root cause of the issue, NOT Fences or any other application on the system. I use Fences but no other application on my system (eg Visual Studio, VS Code, Blender, Unity, Libre Office, Inksacpe, Steam, numerous games etc) exhibits the same issue with tool-tips.

Stardock (or other vendors) are simply going to laugh at anyone suggesting they need to fix something in Fences when the issue is plainly with the Godot implementation.

Why do you have seemingly multiple implementation of tool tips anyway? I notice the light background tool tips used for icons throughout the Godot UI never exhibit this issue.

So annoyingly we have inspector tool tips, that cannot be read at a glance, continually hiding/showing. While the short simple tool tips that can easily be read in a glance are rock solid. Please just use the same (reliable) tool tip system for all tool tips.

It's quite strange any external application could impact Godot UI features rendered using the same OpenGL rendering system used by the rest of the Godot interface uses. Are those inspector tool tips are implemented using OS native UI functionality? That's the only way I could see that happening?

@Zireael07

This comment was marked as resolved.

@Calinou
Copy link
Member

Calinou commented Aug 24, 2022

I use Fences but no other application on my system (eg Visual Studio, VS Code, Blender, Unity, Libre Office, Inksacpe, Steam, numerous games etc) exhibits the same issue with tool-tips.

Out of all the programs you mentioned, VS Code and Blender both use custom tooltips. Blender is drawing them in the same OpenGL window as the main viewport, like Godot 3.x.

Why do you have seemingly multiple implementation of tool tips anyway? I notice the light background tool tips used for icons throughout the Godot UI never exhibit this issue.

EditorHelpBit (used for inspector tooltips) is more powerful (and therefore more complex/demanding) compared to the general-purpose tooltip spawned when hovering Control nodes. To each problem, its own solution 🙂

Are those inspector tool tips are implemented using OS native UI functionality?

No, these are rendered as Controls within the main window in 3.x (and in separate windows in 4.0). OS-native tooltips are too limited for this purpose, as they can't contain any formatting and their theming can't be changed. Most complex programs end up implementing a custom tooltip system for the same reason.

@burrich
Copy link

burrich commented Sep 3, 2022

I don't have Stardock Fences or Kakaotalk apps but this problem occurs too when the Performance Monitor of Windows is opened (Windows 11, Godot v3.5.stable.official [991bb6a]).

@Calinou
Copy link
Member

Calinou commented Sep 3, 2022

Performance Monitor of Windows is opened

Just to make sure, are you referring to the task manager or perfmon.exe? I remember perfmon having an unusual way to draw tooltips, so this could be related.

@burrich
Copy link

burrich commented Sep 3, 2022

Yes i was referring to perfmon.exe (Resource Monitor).

@ajhmain
Copy link

ajhmain commented Sep 8, 2022

@Calinou
Thanks for the responses. Makes a lot of sense that EditorHelpBit are implemented in engine (not OS). But that doesn't answer the main question: how could any other external application have any effect on these tooltips if they are just part of Godot editor rendering system?

Surely it's therefore just a a bug in Godot rendering system for these tooltips? Other applications that happen to be running such as Fences, Perf Mon etc, just seems like a "correlation is not causation".

@ajhmain
Copy link

ajhmain commented Sep 8, 2022

@Calinou

Just a thought, perhaps these EditorHelpBit tooltips are overly sensitive to any "perceived", but not user initiated movement of the mouse cursor?

I say "perceived" because it could be possible that some applications (eg Fences, Perf Mon) might be doing something to the mouse cursor (at the OS level) which triggers a false movement which in turn causes the EditorHelpBit tooltips to hide themselves continually?

No idea if this is actually true but that could explain how external applications may impact this issue. However I am not sure why the simple tooltips would not also be affected by this.

@Bargeral
Copy link

I was surprised to see this issue being looked at again.
v3.5.1.stable.official [6fed1ff] still has the issue when tested with perfmon.exe open - issue clears when perfmon is closed.
However, v4.0.beta3.official [01ae26d] does not appear to have the issue.
I'm happy to move on to 4x and call it a day, but maybe something can be back ported to fix this issue for 3x users.

@mathias17
Copy link

Experiencing this issue with 3.5.1.stable. Very annoying.

@yume-chan
Copy link

yume-chan commented Jan 23, 2023

Looks like this issue will be fixed in 4.0. 4.0 by default uses separate windows for tooltips, but even in single window mode the blinking does not happen.

2023-01-23.18-37-31.mp4

This is the first time I use Godot, and I just have Resource Monitor opened in background by accident. So, I encountered this issue immediately. A pretty bad first impression for me.

@akien-mga akien-mga added this to the 3.x milestone Jan 23, 2023
@Calinou
Copy link
Member

Calinou commented Jan 23, 2023

Relevant code that controls the display of custom tooltips in 3.x:

godot/scene/main/viewport.cpp

Lines 1581 to 1637 in f747967

// Remove previous popup if we change something.
if (gui.tooltip_popup) {
memdelete(gui.tooltip_popup);
gui.tooltip_popup = nullptr;
gui.tooltip_label = nullptr;
}
if (!tooltip_owner) {
return;
}
// Controls can implement `make_custom_tooltip` to provide their own tooltip.
// This should be a Control node which will be added as child to the tooltip owner.
gui.tooltip_popup = tooltip_owner->make_custom_tooltip(tooltip_text);
// If no custom tooltip is given, use a default implementation.
if (!gui.tooltip_popup) {
gui.tooltip_popup = memnew(TooltipPanel);
gui.tooltip_label = memnew(TooltipLabel);
gui.tooltip_popup->add_child(gui.tooltip_label);
Ref<StyleBox> ttp = gui.tooltip_label->get_stylebox("panel", "TooltipPanel");
gui.tooltip_label->set_anchor_and_margin(MARGIN_LEFT, Control::ANCHOR_BEGIN, ttp->get_margin(MARGIN_LEFT));
gui.tooltip_label->set_anchor_and_margin(MARGIN_TOP, Control::ANCHOR_BEGIN, ttp->get_margin(MARGIN_TOP));
gui.tooltip_label->set_anchor_and_margin(MARGIN_RIGHT, Control::ANCHOR_END, -ttp->get_margin(MARGIN_RIGHT));
gui.tooltip_label->set_anchor_and_margin(MARGIN_BOTTOM, Control::ANCHOR_END, -ttp->get_margin(MARGIN_BOTTOM));
gui.tooltip_label->set_text(tooltip_text);
}
tooltip_owner->add_child(gui.tooltip_popup);
gui.tooltip_popup->force_parent_owned();
gui.tooltip_popup->set_as_toplevel(true);
if (gui.tooltip_control) { // Avoids crash when rapidly switching controls.
gui.tooltip_popup->set_scale(gui.tooltip_control->get_global_transform().get_scale());
}
Point2 tooltip_offset = ProjectSettings::get_singleton()->get("display/mouse_cursor/tooltip_position_offset");
Rect2 r(gui.tooltip_pos + tooltip_offset, gui.tooltip_popup->get_minimum_size());
Rect2 vr = gui.tooltip_popup->get_viewport_rect();
if (r.size.x * gui.tooltip_popup->get_scale().x + r.position.x > vr.size.x) {
r.position.x = vr.size.x - r.size.x * gui.tooltip_popup->get_scale().x;
} else if (r.position.x < 0) {
r.position.x = 0;
}
if (r.size.y * gui.tooltip_popup->get_scale().y + r.position.y > vr.size.y) {
r.position.y = vr.size.y - r.size.y * gui.tooltip_popup->get_scale().y;
} else if (r.position.y < 0) {
r.position.y = 0;
}
gui.tooltip_popup->set_global_position(r.position);
gui.tooltip_popup->set_size(r.size);
gui.tooltip_popup->raise();
gui.tooltip_popup->show();

(Also search for all instances of gui.tooltip_popup in scene/main/viewport.cpp, and make_custom_tooltip, in the codebase.)

@jcommander
Copy link

jcommander commented Aug 30, 2023

Using Godot 4.1.1.stable tooltips dissapeared completely, caused by Rainmeter (like in #39008)
I remember having the blinking issue with Godot 3 occasionally, but now it seemed like they were outright disabled at first.
Always takes a moment to grasp that a different program is causing this.

@Bargeral
Copy link

Using Godot 4.1.1.stable tooltips dissapeared completely, caused by Rainmeter (like in #39008) I remember having the blinking issue with Godot 3 occasionally, but now it seemed like they were outright disabled at first. Always takes a moment to grasp that a different program is causing this.

Not sure if it's the same issue. I'm using v4.1.stable.official [9704596] and have Fences up now without issue. Also using PerfMon.exe as a test and no issues.

@PurrfectDreamm
Copy link

PurrfectDreamm commented May 15, 2024

To see tooltips in Godot try to hold Alt button while hovering on UI objects that have tooltips, it works for me. I use Godot 4.2 and last version of Fences app.

Update: I found better solution to "fix" this bug, when you want to switch to Godot, use (Win + Tab) and select Godot, and all tooltips are working just fine! (without Alt button pressed). Still idk about other people, but it works for me all the times.
P.S. My OS - Windows 10 Pro

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