Hi Noel Noel Carboni wrote: Sorry I used the word panacea. No accusations were intended on my part. There was nothing offensive about your post, and your use of the word panacea didn't bother me. The repeated misrepresentation of my statements by an Adobe employee was irritating. It occurs to me that if Photoshop were designed from the ground up today things would likely be done differently than they are (and which probably can't be practically changed without doing that ground up rewrite). That's the situation that I see and there seems next to no probability in the near future of Adobe commiting the vast resources that would be required to develop a fully modern equivalent to Photoshop. An anecdote: I was just doing some testing on one of my plug-ins with a preset that maxes out all controls to do a stress test. This embodies a large number of operations multiplied by a huge number of pixels, just as I mentioned above. The GPU displayed the preview with the (tens of thousands of) effects the plug-in generated rendered on top of the original image in just a few seconds. The screen was basically covered. Not interactive, but not unusably slow. When I hit [OK] to commit the effects back to the image, the plug-in switches to using the CPUs (all cores simultaneously, of which I have 8) to render the effects, since they're done in a bit higher accuracy than what's done for the preview. That's been running now, pushing a progress bar across and speeding up my cooling fans, for about 5 minutes. It's only a small percentage of the way through. For graphics tasks specifically suited to GPU operations, yes, GPUs can be hugely faster than CPUs. But let me tell you, it weren't no easy job to make it work like this. My version 1 of the plug-in did everything in the CPU, and it became clear that while it was acceptable when a fairly small number of effects were generated, people would expect more. The task of porting the plug-in to use OpenGL / shaders / etc. was literally about 1.5 man-years, just to make it do the same things it did before, but GPU-accelerated. Part of that was development of a new framework which can be re-used, but part of it was simply reorganizing the task to be GPU-compatible, which would need to be repeated for another GPU-based development. -Noel Thanks for the informing account of the difficulties that can be encountered when developing GPU-accelerated software.
... View more