Introducing the tech of NextGen Engine
Hi! I devised Photoshop’s NextGen Engine (NGE) and want to share a bit about why we’re building it and the technology.
Let’s start with an important thing to know.
We’re adding, not subtracting
Photoshop is getting a new engine and ultimately everything that has anything to do with pixels will run through it.
This may sound like it implies a lot of change. In case this is on your mind, let me clarify: it doesn’t, really.
We decided to add in the new engine and capabilities and not take anything away. After NGE lands, you can still use Photoshop as you always have. New features and capabilities will be opt-in. You can dip your toes in or embrace the new capabilities wholeheartedly – it’s up to you.
We’re creating a bit of a new world inside Photoshop, but that new world gets blended in with what exists now, seamlessly.
With that out of the way, why are we building this new engine again?
Why, part 1
We’re building NGE to make Photoshop 1) more capable, 2) way faster, and 3) easier to use.
Some engine features touch all three of these at once. Interestingly, perhaps, when these benefits combine, positive implications on usability emerge. Let’s explore that a bit.
Tracing a feature from capability to usability
Let’s look at a feature David revealed in the previous blog post: filters will run in real-time on-canvas and can be placed anywhere in Layers. That’s the feature. (Basically, in Photoshop language, NGE filters are non-destructive and behave like Adjustment Layers today, clipped or unclipped.)
This gives Photoshop a (big) new capability, makes it faster (up to 100x faster for filters in the Distort family in our testing), and is easier to use because you no longer must know about Smart Objects and Smart Filters to use non-destructive filtering. Check, check, check on our list of benefits.
On top of this are some nice usability implications, as follows.
Consider a document with two images and a stack of filters above them: Say, Vibrance, followed by a Gaussian Blur and a Lens Correction. What happens if you move one of the images underneath these filters or change vibrance? With NGE, all filters re-run and the composition changes in real-time.
This isn't possible in Photoshop today.
Here are the positive usage implications, then:
-
You can now see edits to anything in Layers in the context of your full composition.
-
You can now edit compositions of any complexity without having to merge layers or create Smart Objects.
If you work on complex documents, let that sink in for a moment.
This gives you more non-destructiveness; more precision & control; and lets you effectively do work you couldn’t practically do before.
(Personally, improvements like that, to the way you can create, excite me more than features or speed.)
Also, of course, having to understand and know the rules about placement of Adjustments, Smart Filters, Layer Effects and how to use Smart Objects is part of why Photoshop has a steep learning curve.
So, the final implication of this simple-sounding feature of real-time filters on canvas, with all the previous rules about filter placement falling away, is
-
A beginner can now have an easier start on complex work in Photoshop
(That may matter less if you already know all this, but it helps you too.)
Finally, and I admit this is just my inner child having fun:
-
It looks beautiful. I’m personally looking forward to you experiencing the swirly creaminess of moving layers under global Blur and Swirl filters in real-time. 😀
Here’s our first tech blurb:
The tech
Key to making this “everything is an Adjustment Layer” feature work is much greater speed. And that’s achieved through modern tech and quite a few inventions.
Know that, off the bat, GPUs are “only” 10x faster than CPUs. On a desktop-class machine, Windows or Mac, the GPU has around 10 TFLOPS of perf vs. 1 TFLOPS for all the CPU cores combined. And VRAM, on dedicated graphics cards, is around 10x faster than CPU RAM. But if you do everything right, you can get a factor of 100x out of GPUs. That’s the challenge we took up.
We invented a GPU Compiler for Imaging that fuses all filters and blending operations in Photoshop into one giant “shader,” bespoke for your document. This eliminates all intermediate “writes” (into temporary bitmaps at every compositing stage) and gives us that extra 10x.
We call this extreme kernel fusion, and it also has a big positive quality implication: color is processed quasi-losslessly, in floating-point precision, as it goes through any number of processing steps. With NGE, you can have 2 or 20 Curves, or other adjustments for color, and they will be fused into one, eliminating all potential for banding due to filter losses. Banding – gone forever.
This holds even for 8-bit images, because those, too, are promoted to 32-bit float while pixels travel through the processing pipeline. (There’s no full-image conversion to 32-bit float – that would eat RAM. The conversion happens on-the-fly, just for the 1,000 or so pixels that are being processed by the 1,000 or so cores of your integrated or dedicated GPU.)
Extreme kernel fusion also applies to transformations. If you have non-destructive Rotate, Lens Correction, and Perspective operations on your photo, these are fused into one complex mathematical formula used to sample your photo only once for every output pixel. This delivers a noticeable quality improvement over sampling it three times, as each sampling operation introduces inaccuracies and makes your photo softer. To my knowledge, no other commercial imaging software can do this.
Kernel fusion and the use of dynamic compilation are two key enabling technologies in NGE.
Next month, a member of the team will tell us how the engine works with any number of images of any size. That’s another key innovation that’s unusual and required invention.
I hope you’re starting to sense it: Photoshop is coming to the GPU – in a big way. 😀
Why, part 2: Feeling that feeling again
Photoshop was a revelation in the 90s. There was real discovery as users (and developers alike) saw things happen to images that just weren’t possible – or seen – before.
Our hope and ambition with NGE is to build something that allows you to experience that feeling of newness and expanded possibilities again.
We’re making Photoshop easier to use but “easier to use” doesn’t at all mean we’re dumbing Photoshop down. Quite the opposite: we’re giving Photoshop features and oomph that will let you do work with a new level of precision and quality and do net-new things.
And there will be simplifications in usability that we hope will feel natural to you and like a logical next step.
So, beyond features and specs, a heightened user experience is an important part of why we’re building NextGen Engine for you.
A quick reality check: Photoshop is big. Our approach of blending the new into what exists today will take time and NGE capabilities will roll out incrementally over a stretch of time.
Next steps
We’d love to build together with you and will ask for your input.
We’ll also have different members of the team pop their heads in here and tell you about various aspects of NGE, from tech to product to community.
Also, there will be surprises (good surprises) along the way. Stay tuned for one coming very soon.
Best,
Oliver Unter Ecker
Imaging Lead, Photoshop Platform

