Regarding no.3, what do you mean by QTextDocument? My block editor is implemented by each delegate being a TextArea (inh: TextEdit), and it's very fast.
One trick I've learned, is to use `reuseItems`[1][2] in ListView. It gives incredible performance boost. You'll need to adjust some things according to the onPooled and onReused signals, but it's a no-brainer for many use cases.
[1] https://doc.qt.io/qt-6/qml-qtquick-listview.html#reuseItems-...
[2] https://doc.qt.io/qt-6/qml-qtquick-tableview.html#reusing-it...
I will try reuseItems again. It's something I tried before briefly but thought it may have been causing some rendering glitches and removed it. Maybe because I didn't implement onResused or onPooled properly. Thanks!
Yes, but without QTextDocument as I had some problems with it. I had to implement my own undo/redo/copy/paste/etc.
> It's something I tried before briefly but thought it may have been causing some rendering glitches
Yes, I've experienced some (minor) glitches that I've yet to figure out how to fix. For example, the cursor seems to (sometimes) jump when creating new blocks. Sometimes delegates reappear with animation (while I turned them off when onPooled ran). I'm trying to figure out if I'm doing something incorrectly (highly probable) yet I don't get these issues without reuseItems.
Sure, I hope it works out well for you (:
I have a component for it, it's 10-15 lines or so.
[1] https://www.kdab.com/development-resources/qt-tools/gammaray...
Here are some issues I've seen related to performance on mobile:
1) Opening a larger app is really slow (maybe 3-5 seconds), but works okay for smaller apps. I'm not sure what's going on behind the scenes and haven't had time to dive deep there yet, so this could be specific to me.
2) Rendering full pages is quite slower than native, as is QML rendering in general, even when using the QML compiler (which compiles your QML to C++)
3) Qt text rendering is a bit slow too, but you may not need i.e QTextDocument if you're implementing a text editor of some sort.