realthunder/FreeCAD_assembly3

Gradually worsening move performance when using `QT_QPA_PLATFORM=wayland` and links

Bobo1239 opened this issue · 0 comments

I've encountered a very strange performance problem with assembly3 which only occurs when using FreeCAD with the environment variable QT_QPA_PLATFORM set to wayland. That forces Qt to use the native Wayland backend instead of XCB (X11). When setting QT_QPA_PLATFORM=xcb the issue doesn't appear.

The simplest reproducer I was able to find is just:

  • Create a new document
  • Switch to Part workbench; Add a cube
  • Switch to Assembly3 workbench; Create assembly
  • Right click on the cube > Link actions > Make link
  • Move the linked cube into the assembly parts
  • Hide the original cube to not accidentally select it
  • Use assembly3's Move Part on the linked cube and move it around; During movement the update rate gradually gets worse until it is completely unusable (update: actually the performed movement must be somewhat fast/large; if I just slowly move it is able to stay at high FPS; but with XCB I can move it at any speed without problems)

Here is the created document which exhibits the bug.

I have no idea why Qt is affecting asm3's performance in this strange way. Other parts of FreeCAD aren't affected at all as far as I can tell. Since it is pretty unlikely that you're using the same environment as me I'd be willing to help debug stuff (with your instructions) on my machine to find the root cause.

Environment information:

  • Arch Linux; all packages up-to-date
  • freecad Arch package (version 0.21.0; compiled with Qt 5.15.10)
  • Sway window manager (-> Wayland)