Why does photoshop take so long to render an image with a filter applied?
I don't really have an issue with this but am genuinely interested in what the answer might be...
Say I go into photoshop and have an image, go to Filter then Filter Gallery.
Clicking through the filters it takes maybe 0.2 seconds to load some of them completely. This adds up if I want to apply a filter to an entire video.
Yet, I can render a 3D scene in OpenGL in real-time with some post processing effects to choose from, and when I flick through them the entire thing is rendered instantaneously (0.0079s to be precise, just 0.0001s more than a frame without an effect).
So I was wondering... Does Photoshop not use the GPU to apply these filter effects? Do the filters have to be compiled each time you select them? Is it just that CS6 is now considered old and poorly optimised?
My final theory is that some effects cannot use the GPU because they use a certain algorithm (particularly the palette knife effect) that specifically needs to look at the pixels in order - that wouldn't work in parallel.
Speed is a optimization thing, but optimization comes at the cost of implementation speed. Some of the filters would be really hard on the GPU as they can not be parallelized. Besides photoshop regularily makes use of images that are much bigger than most cards allow textures to be.
Yes its possible to make realtime renders that do all sorts of things in the GPU. Yet because of the fexibility limitations movies are still done on the cpu whith day long frame renders.
Now photoshop is meant for print production and secondarily for still media. What it does for this is enough. Sure they could drop a few millions to redo all their codebase but you know what its enough for their target audience. Besides the application that is meant for video AE is much more agressively optimized.
But if you have a super opengl editor that does everything in microseconds please use that instead. Or is it so that you need some fexibility it does not offer? Features like Undo actually take some time to do... Even n if PS would do it in the GPU it still needs to read the buffers back etc.
In reality I keep hearing this speed thing, but dont see it. The trend started sometime in 2000's but still 16 years later these super accelerated apps dont sit on every media computer for some reason. They are very slow to come to market, they exist i know that but there are still not really here.