Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-111276

Poor instanced picking performance

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • P2: Important
    • 6.5.1, 6.6.0
    • 6.5.0 Beta2
    • Quick: 3D
    • None
    • GTX 1080
    • All
    • 794e179c0 (dev), 24e693b03 (6.5)

    Description

      1. Modify the manual picking test to have "10000" instances instead of "1000".
      2. Add a `DebugView` to the end of `View` to see framerate:

      DebugView {
          anchors.right: parent.right
          source: viewport
      }

      The issue is the framerate drops from 165FPS to 27FPS without ANY interaction.

      Perf report most time being spent in `QQuick3DViewport::internalPick`. I think `QQuick3DViewport` is erroneously handling hover events by default. I don't see any hover functionality builtin to `Node` or `View3D` so I'm confused why it would be raycasting.

      Edit: Tweaking `QQuick3DViewport::internalPick` fixed the performance problem in my application:

      const bool isHover = QQuickDeliveryAgentPrivate::isHoverEvent(event);
      if (isHover)
          return false;

      Not entirely sure how to make a PR, but I'd be happy to do so with the above change applied.

      Attachments

        1. 27fps.png
          83 kB
          clicking buttons

        Activity

          People

            kskau Kristoffer Skau
            clickingbuttons clicking buttons
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: