> On 4 Nov 2025, at 11:41, Laszlo Agocs via Development > <[email protected]> wrote: > > Hello, > I would like to request a new repository for a compact, QRhi-based 2D > painter based on QNanoPainter (https://github.com/QUItCoding/qnanopainter) by > Kaj. > This is not intended to replace QPainter, but rather to provide a compact > API that is more suitable to be layered on top of QRhi. > The main goals are to > use this in Qt Graphs for a high-performance Charts implementation, > to enable creating a better Canvas implementation for Qt Quick, > to investigate building a paint engine on top of this for accelerating > widgets, > and to offer a QQuickPaintedItem variant that is always hardware accelerated, > for integrating imperative 2D drawing into Qt Quick scenes. > Name of the repository: qt/qtcompactpainter > Responsible person: Kaj Grönholm, kagro, [email protected] > Description: Accelerated 2D painting solution for Qt Quick and QRhi-based > render targets > Best regards, > Laszlo and Kaj
I hope the hive mind here can find a better name for this than “Compact”, which I think is a rather subjective term that doesn’t say much. It’s faster - for certain use cases; it will have some API limitations compared to QPainter; it might or might not be smaller in terms of binary size and/or runtime footprint. It will grow over time, and then become less compact. We don’t want to use QRhi* for this family of classes and types, because that’s a very low-level namespace. One term that has been established for this kind of rendering is “Immediate”. While using that directly might be a bit too much of a nod towards ImGui (and generally the expectation that the framework doesn’t manage any state), a decent synonym for that is perhaps “Direct” (which is then again a bit close to Microsoft terminology…). Both indicate that the rendering bypasses (or doesn’t bother with) the scene graph data structures. The module’s name could then perhaps be Qt DirectPainting, with a family of related classes, including a QDirectPainter? Volker -- Development mailing list [email protected] https://lists.qt-project.org/listinfo/development
