On 04/05/2013 19:30, Preet wrote:
Hi,

I have a couple of questions regarding images in QtQuick2.

1.
For a resolution independent application, I tried using several images (all 128x128px) that I scaled as appropriate for target devices. In QtQuick1 this didn't work out so well -- scaling the images was expensive and made the application slow.

Can I expect image resizing/drawing to be much faster in QtQuick2? If the images are directly uploaded as textures to OpenGL without being scaled down CPU-side I'd imagine this to be the case.

Correct, scaling of images should essentially be free as this will be performed in hardware.


2.
I'd like to use ShaderEffects to apply a somewhat trivial shader to most of the images in my application. The images are black and white icons, and I'd like to use shaders to change the black and white output fragments to different colors (ie maybe blue and green, red and yellow, etc).

The shader itself is super simple and probably adds negligable cost to the pipeline, but I'm concerned about how overall performance would be affected compared to the default method QtQuick uses to render a bunch of images.

Would QtQuick still intelligently batch the images and draw them using only a few calls? Or would it individually bind the same shader and issue a separate draw call for each image?

Using a ShaderEffect item implies rendering the source to a texture via an FBO and then applying the effect's shaders to the resulting texture. Therefore using many ShaderEffects will produce a performance impact at some point. If you really have many of these items to show it would be better to implement a custom item using the scene graph api. Take the existing QSGSimpleTextureNode or image item as starting points and provide a custom material that renders using your colourisation shader.

This way you avoid the FBO pass for each item.

Hope this helps,

Sean



Preet

--
This message has been scanned for viruses and
dangerous content by *MailScanner* <http://www.mailscanner.info/>, and is
believed to be clean.


_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


--
Dr Sean Harmer | sean.har...@kdab.com | Senior Software Engineer
Klarälvdalens Datakonsult AB, a KDAB Group company
Tel. Sweden (HQ) +46-563-540090, USA +1-866-777-KDAB(5322)
KDAB - Qt Experts - Platform-independent software solutions

_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest

Reply via email to