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.
| For Gerrit Dashboard: QTBUG-111276 | ||||||
|---|---|---|---|---|---|---|
| # | Subject | Branch | Project | Status | CR | V |
| 461658,17 | Update internal input processing of QQuick3DViewport | dev | qt/qtquick3d | Status: MERGED | +2 | 0 |
| 465994,2 | Update internal input processing of QQuick3DViewport | 6.5 | qt/qtquick3d | Status: MERGED | +2 | 0 |