Edit: I'm talking about the material tab preview, NOT the render preview. Here's an image of what it looks like on your screen. I think everyone can agree that it's ridiculous for this little image to be re-rendered every time you click that material. This part, the Material's individual preview window Hopefully, this image makes it clear exactly what I'm talking about when I say "Materials window with its Preview section".

Original question: When I'm jumping between objects in the project, if I happen to have the Materials window open with its Preview section expanded, Blender re-renders that material preview every time I switch objects - even if it's the exact same material. And even worse, the preview is never rendered to the same quality that the final project will be rendered to, so the preview isn't as good as it could be. The computer may render that same low-quality preview hundreds of times, always rendering the same ball or monkey head.

So is there any way to save this preview for a material that is shared between many objects? That would avoid the constant jumps in CPU usage, and maybe could allow Blender to efficiently render that preview in much higher quality. Even if it isn't saved between sessions, it would be useful to keep it in the memory cache.

  • $\begingroup$ Have you heard of baking? See this blender.stackexchange.com/questions/13508/… $\endgroup$ – Yash Mar 4 '19 at 17:52
  • $\begingroup$ Yash, I appreciate the time you obviously put into the comment and finding something, but that's not the aspect I'm talking about. I added an image to the question to show the part of the GUI that I'm referring to; the issue may only be noticable when using procedural textures. I'm not talking about the 3D View's Viewport Shading option of Rendered, I'm talking about the little preview window within the Properties -> Materials menu. You could feasibly make a baked version of a texture to save; but then it wouldn't be procedural anymore. $\endgroup$ – user3685427 Mar 8 '19 at 17:41
  • $\begingroup$ If your question is about how to not render that material preview each time you do something with object then you can close that rollout altogether. Blender will remember its state and won't show on other materials $\endgroup$ – Mr Zak Mar 8 '19 at 18:14

Short answer: no.

This preview panel really isn't meant to give you an accurate preview. It's supposed to be an "as fast as possible" preview of your material in a neutral environment. Allowing you to see what you're editing on the fly with as less waiting as possible, or scroll through your material list.
It gets refreshed at every material setting change, as well as every new selection (because you change the object, the material window gets entirely refreshed, and so does its preview panel).

The only way it could remain still when changing the selection is if Blender had an hypershade-like editor. Which will let you edit any material you want, even several at the same time, regardless of your selection. But that's not planned for now.

But to be honest, if you're working with cycles and want to have a fair preview of your object which is independent of your selection, your best shot is the 3D viewport. Because the final look of your shader is highly driven by the model's volume, the lighting, the surrounding surfaces, and their own materials, ...
If you have performance issues, there are some work around, like using the render border, using your GPU (or better if you have several GPU, use the one not used for your screen), reducing the pixel size, ...

| improve this answer | |
  • 1
    $\begingroup$ Thanks; that's what I feared, and that explains how Maya has it but Blender doesn't. The render border and pixel size are good ideas, I'll use those for any work I do in 2.8 as I'm already migrating over and getting accustomed to its differences. $\endgroup$ – user3685427 Mar 8 '19 at 18:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.