[Development] Qt 4.8 and possibly 5: QVGPaintEngine implement a cache manager for vgpaths.

Nikolaos Korkakakis korkakak at gmail.com
Thu Feb 23 18:52:19 CET 2012


Hi list,

I am interested in implementing a cache manager for VGPath(s)  for the
openvg sybsystem, and I am thinking after a bit of reading the proper
way to do that,is by creating an LRU (in similar fashion as with
QVGImagePool).

Since paths are more prone to alterations (to my understanding at
least) am looking a way to quickly destroy the vgpath associated, and
the only viable way is by <ahem>adding some extra logic in the
QVectorPath and QPainterPath to handle the invalidations (ideally it
would be just check if a pointer is non-null and then free).
Alternatively, without altering the QVectorPath and QPainterPath I
would create a copy of the actual path object inside a "structure"
together with some unique  identifiable info (ie a pointer to the
original object), together with the vgpath file handle) and each time
I access to access the path I do some checks if the local cached copy
is identical to the original, which is more costly in terms of
computation.

(given the first approach, hacking QVectorPath and QPainterPath) If
that code is wrapped in ifdefs, and enabled only in some scenario, do
you consider this to be the right way to go ? Am I missing something?

BR,
N.



More information about the Development mailing list