Serge
04-06-2009, 05:42 AM
I have program, written on QT 4.3.3, which displays and allows to scroll over large SVG files.
It uses standard SVG module from QT for rendering.
SVG files, which i must display, are large - more than 100mb.
Rendering of entire SVG file using native QPixmap takes up to 10 sec.
If use OpenGL, rendering may be faster, but anyway takes several seconds.
That is why i placed rendering in another thread so that interface would not "freeze" while image is prepared.
And i could do it only for native rendering on QPixmap. OpenGL rendering in 2 concurrent threads crushes my program. (One thread - active screen, other - buffer for new image)
But Adobe illustrator displays same images much more faster. Is it using OpenGL?
My task is made my program as fast as Illustrator.
Can you give me some hints for it?
Can i do openGL so fast, so that second thread would not be needed?
It uses standard SVG module from QT for rendering.
SVG files, which i must display, are large - more than 100mb.
Rendering of entire SVG file using native QPixmap takes up to 10 sec.
If use OpenGL, rendering may be faster, but anyway takes several seconds.
That is why i placed rendering in another thread so that interface would not "freeze" while image is prepared.
And i could do it only for native rendering on QPixmap. OpenGL rendering in 2 concurrent threads crushes my program. (One thread - active screen, other - buffer for new image)
But Adobe illustrator displays same images much more faster. Is it using OpenGL?
My task is made my program as fast as Illustrator.
Can you give me some hints for it?
Can i do openGL so fast, so that second thread would not be needed?