Linux Editor Tooltips tank editor performance massively

Tooltips appear to have a massively terrible impact on Editor performance in Linux. As I move my mouse across the UI over elements that would have a tooltip, my frame rate drops from 90fps (with an almost empty scene) to 20fps.

I’ve tried changing the summon delay to 1 second, but that doesn’t seem to matter. It still delays being summoned, but the performance is still impacted even when no tooltips appear.

Tooltips are of course incredibly useful in many situations, but when they have such a big impact on performance its a very hard tradeoff.

We’re on Kubuntu 22.04 with an RTX A4500

[Attachment Removed]

Steps to Reproduce

  1. Open any Unreal Engine project in Linux (we’re on Kubunu 22.04)
  2. Ensure tooltips are enabled (they are by default) with Slate.EnableTooltips=true
  3. Move your mouse up/down over the UI such as the outliner items, content browser assets, or just buttons in the UI that would have tooltips
  4. Watch as your fps tanks from 90fps to 20fps
  5. Disable tooltips with Slate.EnableTooltips=false
  6. Repeat step 2 and watch as your fps is largely unaffected
    [Attachment Removed]

Tooltips on Linux can be very expensive since a tooltip window in UE Editor is a full on Vulkan surface that is actually drawn on. They aren’t just plain text and they have to be recreated every time due to how Wayland works. For some window managers and video drivers that can be a pretty heavy hit.

We have made improvements in how they work in the 5.8 hotfixes. But your window manager and video driver can play a pretty big role. I’d really recommend trying it with 5.8.3 or even UE6.

It would be very helpful if you could give us a log from your editor session (just use a simple template project), that would answer a lot of questions about what you are running. Are you running X11 or Wayland? What window manager?

[Attachment Removed]

I can answer some of these questions: we’re using X11 (11.0, X.Org version 1.21.1.4), and KWin 5.24.7 is the window manager.

[Attachment Removed]

I’ve done some research and created a jira to address this issue, UE-396606

Performance (especially the visible FPS count) in editor is better running under X11 under Wayland (using XWayland) but even there there is a FPS frame hit for the tooltips.

I’m optimistic we can do something but this is going to take us some research. In the meantime the only real lever you have is turning off the tooltips.

[Attachment Removed]

A few additional thoughts from the team:

  • We were hoping Slate.TooltipSummonDelay would improve performance as the tooltips wouldn’t try to draw immediately, but this seems to be misleaading. While they don’t appear until later, we still see the same performance impact. Once consideration would be actually waiting to draw tooltips until needed.
  • Tooltips are really useful for some things, but really not useful or annoying for others. It might be worth considering getting rid of tooltips in a number of cases to save on performance. For example:
    • Useful: Tooltips are useful when hovering over a button/icon with no text to inform a user what it does, and the tooltips on cvars are crucial to searching through them and understanding what they do.
    • Not Useful: Hovering over an item in the outliner shows a tooltip of the same name we already see in the outliner… there’s no need to draw this and have a performance impact. I would get it if it showed when hovering over a different column, but it only shows when you’re already hovering over the name - so then you get a tooltip that covers other parts of the outliner you might want to be able to read. Super annoying.

For now, we’re creating a toggle in the toolbar to turn tooltips on and off. We’re recommending artists disable tooltips until they really need them since they have such bad impact on usability of the editor.

[Attachment Removed]

Changing the timing on the tooltip won’t help the FPS drop when a tooltip is brought up. It just changes when the performance impact occurs. We’re continuing to investigate this but at this point I don’t believe any major improvements will make it before UE 6.

[Attachment Removed]

Thank you Matthew, we appreciate you looking into this and the team working on it.

[Attachment Removed]

Thank you Matthew

[Attachment Removed]