Details
-
Task
-
Resolution: Unresolved
-
P2: Important
-
None
-
6.4.0 Beta3
-
None
Description
Qt Quick uses QGlyphRun::setRawData() to avoid copying data, but then it accesses the data using glyphIndexes() and positions() later. This causes a copy every time those are used. There is no efficient way to use setRawData() without also accessing internals.
As an optimization, we could add a low-level way to access the internal pointers directly (getRawData()?) and use this instead.
In addition, we should consider improving QGlyphRun::glyphIndexes() and friends so that it actually keeps the copy of the array the first time it's copied and then reuses this later.