Photoshop: Instanced Layers (not Smart Objects)

  • 4
  • Idea
  • Updated 2 years ago
  • (Edited)
I would love to see true instanced layers. Not smart objects, where you have to open them up to edit/ect.

I mean something like in 3D (3DS Max), where you can copy/instance an object or in this case a layer, and it just updates as the other changes. No fuss, or manual labor, just a 1 click solution to get it setup, then you can continue to work.

This would save artists a TON of time, especially when using hundreds of layers or groups/folders, where you have copies, but have to often delete those and recopy updated layers.
Photo of Matt Lichy

Matt Lichy

  • 4 Posts
  • 2 Reply Likes

Posted 6 years ago

  • 4
Photo of Chris Cox

Chris Cox

  • 20280 Posts
  • 767 Reply Likes
Instant updates across multiple layers introduces several problems that would make layer compositing incredibly slow, and would make smart filters impossibly slow. The only alternative would be isolating the instanced layer when you update it and not showing the composite as you update it -- which brings it to the same functionality as smart objects.

The explicit update step for smart objects is there for a reason - so you don't have immediate updates and thus make the time requirements reasonable for compositing and filters.

In 3D programs, the instances are true instances, and don't interact with other objects the same way they do in an image editor -- so they can get away with a lot looser requirements.

If you have lots of copies, you probably should be using smart objects and updating the child document and letting all the copies update automatically in the parent document.
Photo of Chris Cox

Chris Cox

  • 20280 Posts
  • 767 Reply Likes
And I've spent 16 years writing Photoshop and thinking through hard problems like this (as my patent list can attest). See the above reasons why it doesn't work so well in a program that can paint on layers or do things other than trivial compositing.

Yes, they could address the same base representation - but then you still have a compositing nightmare to deal with. A shared memory representation (or modify on write with references) is fine - but that doesn't solve the fact that now you're not compositing one changed layer, but many, every time you modify the base layer.
Photo of Lars Höög

Lars Höög

  • 8 Posts
  • 0 Reply Likes
If SmartObjects is the solution how come then that the file size grows when SmartObjects are duplicated?
Photo of Chris Cox

Chris Cox

  • 20280 Posts
  • 767 Reply Likes
Because the rasterized object has to be there for older versions of Photoshop and other applications. And because the original data has to be saved in addition to the transformed data (because Smart Objects are a lot more powerful than simple instances).
Photo of applxperience

applxperience

  • 3 Posts
  • 0 Reply Likes
"Because Smart Objects are lot more powerful" is not the answer for "how come then that the file size grows when SmartObjects are duplicated?".
Simply IT'S NOT THE SAME.
Excusing the lack of a feature with another not-related non-specific non-fulfilling feature is a cheap marketing trick that insults people's intellect.
I've been requesting this feature for years (as "mirror" or "alias" layers) and de-activating smart effects or other features would be fine if that saved me the current hassle the current lack of blending_mode/layer/channel combinations is (like FilterForge or other apps through object instances)
Photo of Chris Cox

Chris Cox

  • 20280 Posts
  • 767 Reply Likes
Smart Objects are not exactly the same as what you requested, because what you are asking for comes with serious performance penalties and problems, as already explained. We've done the math, we've looked at the possible implementations - and Smart Objects are the approach with the fewest downsides (by far).

Also, you are mixing different questions and answers.
Photo of Matt Lichy

Matt Lichy

  • 4 Posts
  • 2 Reply Likes
Hey,

Thanks for the quick response. Yes, that makes sense. I didn't think about the filters and whatnot that could multiply and bring down performance.

I will have to use smart objects more often and see what they can do.
Photo of Lars Höög

Lars Höög

  • 8 Posts
  • 0 Reply Likes
I would like to see Photoshop's "duplicate layer" feature extended with a "duplicate as instance".

An instance layer would be not consume any additional memory but could, used as a smart object, enable many common tricks without adding memory overhead.

Since the new layers created this way will just be referencing the original source layer definition so any change made to the master instance is directly reflected in its childs.

Another great benefit would be when working with video where I try out bluring motion or mixing adjacent frames by duplicating the video layer several times and ofset them in the timeline. An instance would be sooo much memory friendly.

This reply was created from a merged topic originally titled
Multiple instances of a layer/video not using extra memory or adding file size.
Photo of christoph pfaffenbichler

christoph pfaffenbichler, Champion

  • 1197 Posts
  • 158 Reply Likes
Mr.Cox already explained where the overhead for instances of Smart Objects comes from and even of they would omit the pixel content for multiple instances in the saved file I think it would have to be generated and contained in RAM when the image is opened, so while the files might be smaller on disc performance-wise it might not be beneficial.
Photo of applxperience

applxperience

  • 3 Posts
  • 0 Reply Likes
I still want Mirror/Alias layers!

I.e. A copy of another layer for us to lay anywhere in the stack with a different blending mode. In order to be able to kind-of "tell" PS to e.g. "extract the difference and show me just the lighter pixels" we need to duplicate the same layer many times, and when painting, retouching, or other brushing on one, we need to re-do it in all the others.

The previous topic was closed and went down before so from my experience with it, let me tell you: PLEASE try NOT to suggest smart objects or other techniques. I use photoshop since 1992 (may be earlier) and nothing so far allows the requested feature.

Some apps to professionally handle layer/channels interactions like FilterForge do it possible with just a few links between them, and in PS you require several layers WITH THE SAME PIXEL INFO to accomplish it.

Smart objects force you to work on ANOTHER file, which defeats the purpose of this method: working in real time with brushes and other tools in one layer, and affect all its "mirror" or "alias" copies (also resolution independency from smart objects is not needed for this)

Pervious request:
http://forums.adobe.com/message/29910...

This reply was created from a merged topic originally titled
Feature request I STILL want: Please add Mirror/Alias layers.
Photo of Mads Juul

Mads Juul

  • 8 Posts
  • 0 Reply Likes
What if it was possible to work on the Smart object(The active layer in the smart object) directly from the Document without opening the smart object with a double click. would this be possible?
When doing animation and storyboarding this would be nice.
Photo of christoph pfaffenbichler

christoph pfaffenbichler, Champion

  • 1197 Posts
  • 158 Reply Likes
There seem to be several issues that would make this exceedingly difficult.
• container document and SO may have different Color Modes and Color Spaces and Bit Depths and Resolutions
• applied Transformations, Warps, Puppet Warps, Filters etc. would need to be permanently counter-calculated
• the updating might have to affect any number of instances of the SO, so Performance might suffer significantly
...
Photo of Mads Juul

Mads Juul

  • 8 Posts
  • 0 Reply Likes
But why not let the user decide if they want to be able to work directly on a smart layer. It could be a preference.
When I as a storyboarder use smart objects I usually have 4 smart objects in a document and I all my layes is the same blending mode and I would resuse the smart objects maybe 10 times. So I think in that situation it would not slow down the computer compared to the way it slows down my workflow that I have to double click a smart object to edit.
Photo of christoph pfaffenbichler

christoph pfaffenbichler, Champion

  • 1197 Posts
  • 158 Reply Likes
»But why not let the user decide if they want to be able to work directly on a smart layer.«
I’m not with Adobe, so I just engage in conjecture on this ... but here goes:
Because to »let the user decide« about using a feature would mean investing resources into implementing that feature. And, as Mr Cox’ seems to have explained, that feature would likely disappoint users with its performance.
And would Adobe really want (more) disappointed customers?
Photo of Chris Cox

Chris Cox

  • 20280 Posts
  • 764 Reply Likes
Working directly on a smart object in the parent document has been requested before - unfortunately it is usually impossible (it might work in around 2% of cases). And Christoph beat me to the list of why it doesn't work most of the time...

Yes, it would be a LOT of work for something that we already know wouldn't be acceptable. I've got a long list of other, useful, features to spend my time on.
Photo of Mads Juul

Mads Juul

  • 8 Posts
  • 0 Reply Likes
Thank you for answering.
Photo of herbert wegen

herbert wegen

  • 36 Posts
  • 26 Reply Likes
"Man who says it can't be done should not interrupt man who is doing it."

Well, Photoline is able to clone layers, and perform in-place editing. It would still be great if layers could be directly cloned somehow in Photoshop as well without the need of SOs. Even adjustment layers and layer masks can be cloned. Cloned layer masks can in turn be re-used in layer mask groups elsewhere in the layer stack. It provides for an enormous flexibility and freedom.

This workflow also allows for adjustment layers to be applied to layer masks, and to combine virtual copies of just about anything to cascade throughout the layer stack.

I do understand the need for SOs - in Photoline files can also be embedded and/or linked in placeholder layers (similar to SOs). But Photoline does seem to show that a virtual cloned layer option which updates in real-time and can be edited in-place is a very useful thing to have.
Photo of iMatt

iMatt

  • 122 Posts
  • 10 Reply Likes
What about instancing adjustment layers?  I do a lot of catalog work, and it often comes up where I'm working on multiple angles and images of the same product or person, often times reusing and dragging adjustments between documents.  It would be great if I could create adjustment groups that are linked between documents for instance the "Shirt" group in one file adjusts the "Shirt" group in another file.  This can be done in After Effects, having one control curve driving other curves buried in pre-comps.  
Photo of christoph pfaffenbichler

christoph pfaffenbichler, Champion

  • 1197 Posts
  • 158 Reply Likes
May be worth a Feature Request of its own, though.