Processing huge QPainterPath
Hello everyone, I hope someone can help me with my problem.
I try to render a huge QPainterPath (The PainterPath was created from an parsed File). I render everything on an QOpenGLWidget via QPainter. I have the problem, if the QPainterPath exceeds an certain complexity the QPainter start blocking the GUI. I tried "caching" as QPixmap or QImage (And still trying on this) but didn't got a usable result (Transparency gets lost).
I can provide some simplified code of what I'm trying to do, but my first question is: Is there any other method of caching the QPainter or having a QThread rendering that part?
Thankyou ~!
Edit: I found out what the transparency-Problem triggers: if the QPixmap drawn via QPainter::drawPixmap is wider an higher than the QWidget transparency isn't rendered anymore. Is that a known problem or limitation I didn't found?
1 Attachment(s)
Re: Processing huge QPainterPath
Hi,
The transparency gets lost as soon height + width of the pixmap is greater then 8192px. Again, I can't find anything that describes that limitation but also found out getting to this limit also brings back the problem I liked to solve this way. So, back to the question: How to cache a Painter Path?
Right now I have something like that, but with an more complex QPainterPath:
Attachment 12432
Every refresh would block the whole GUI.