D
D
DeOxygen2021-02-02 08:23:49
Qt
DeOxygen, 2021-02-02 08:23:49

How to correctly render (compute) a lot of overlapping images (Layers in Photoshop)?

Since the rendering of the result (preview) with each change affects all layers or almost all (even excluding the higher layers up to the layer in which the change occurred), but in this situation, the speed of calculating the result drops with an increase in the number of layers. At the moment in the code, I am iterating through the list of images of type QImage, and rendering on the widget.

Answer the question

In order to leave comments, you need to log in

2 answer(s)
A
Armenian Radio, 2021-02-02
@DeOxygen

Use optimized libraries and hardware acceleration:
1. Break the picture into tiles and redraw / recalculate only those that have changed.
2. Make the mixing itself on the shader.
3. Actually, the Qt primitives for working with images themselves are most likely rubbish, and that's why - they are supplied as ready-made DLLs and should work on any junk like Core2Duo. It is far from a fact that they are assembled with maximum optimization and using modern SIMD instructions.

J
jcmvbkbc, 2017-07-30
@Ilfar_sif

For the given string to work, the format must be: The original format does not work, because processing will stop at the input character *, and it will stay there because the subsequent part of the format string does not absorb this character. Also, I think you put extra apostrophes inside the square brackets. In the format string, they are interpreted literally, i.e. the format "%[^'*']" means "characters other than apostrophe, asterisk, or apostrophe". This is how it should work too:
sscanf(mycharp, "%[^*]*,%[,^]", o, s);

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question