You are bloody amazing. I have a month to finish an animation for my final graphics project for my portfolio for university and the render times were giving me night terrors. This video turned a calculated 60 hour render into a 9 hours on top of doing the animating. No one has been better than you at making interesting videos explaining blender.
Great work Andrew and Mason! A really valuable resource. Also changing the Image Draw Method to GLSL in User preferences gives about a 5-10% speed increase when rendering with GPU.
May also be a no brainer for some, but if you're making an animation where only the camera moves, bake the lighting. Takes about as much time as rendering one frame, but cuts the cost of rendering frames to like less than one second usually.
This is still a brilliant video well over a year later! I’m not even about to do any cycles rendering any time soon, but I still feel like I need to know this! Thanks for your continued ultra hard work and determined curiosity that brings us this valuable info!!
For anyone wondering: MIS just changes how frequently each part of the HDRI is sampled. Without MIS, each pixel in the HDRI as the same probability of being sampled as any other pixel, but MIS will give more samples to the brighter parts of the HDRI, creating a sample pattern more representative of the image. Additionally, MIS will also give more samples to parts of the HDRI that appear in the reflections (including diffuse reflections) of materials. All materials, emission and other, use MIS, but for some reason the environment has a checkbox for it.
This is what I needed!! A very high res image that was taking me 5hours a few days ago is now rendering in about 7 min because of these optimizations. Really amazing!! Thanks, Andrew!!
3:55 #1 - Reduce Light Bounces 6:40 #2 - Use Portals 8:50 #3 - Use GPU 11:15 #4 - Change the Tile Size 13:12 #5 - Reduce Samples 15:25 #6 - Denoising 17:33 #7 - Use the Latest Blender Version 18:58 #8 - Use a different OS 20:48 #9 - Clamp it 23:23 #10 - Turn off Caustics 25:02 #11 - Object Instancing 27:49 #12 - Adaptive Subdivision 29:20 #13 - Remove Alpha Transparency 31:09 #14 - Reduce the Strand Count 32:15 #15 - Remove Volumetrics 33:27 #16 - Cut SSS 35:03 #17 - Enable MIS 36:45 #18 - Small Performance Improvements (No, im not trying to improve my english vocabulary lol. I just had to restart video 3x and now i am tired to research what i need.) #LazyFrench
'Persistent images' makes an improvment when rendering animations with large textures. From my experience the way it works is as follows; when you press render, Blender will load all image textures into memory and builds the scene BVH for rendering. If you're using a lot of large texture/normal/diff/etc. maps (2k+) this could take a minute or two before the image even starts to render. When it moves onto the next frame it loads all the images from the disk into memory again and this can take a while. With 'persistent images' ticked Blender doesn't unload the texture images from memory after each frame so building the scene for render is faster for all subsequent frames as the textures are still in memory. Generally speaking, I leave it on.
Wow, I'm going to try this. I remember the takeaway from this video being to leave it unchecked but this is a massive and relevant issue I'm having right now. Thanks for the tip, I'm going to try it now.
@@muhammadsban2009 A year late on this but: Render Properties -> Performance -> Final Render. If it's not there, make sure that you have your renderer set to Cycles and not EEVEE.
@@the_fl3dd0x It does not like the same, example Light Path --> Bounce, it looks like to be Indirect Light --> Diffuse Bounce... Not sure if it the same,
Alpha transparency: You can also deactivate "transparent shadows" in the material settings. This will keep the leaf transparent, only the shadow will not use the alphamap (since this is the largest performance hit). Best compromise is to model a rough leaf like the right one in 29:50 so the shadow won't be a square block, USE Alpha Masking but disable transparent shadows.
I know you probably get many of these comments every day, but PLEASE realise that if a 2017 tutorial can help me out with my issues better than the tutorials coming out these days, you must be doing something very right Keep up the awesome work man
DUDE THANKS SO MUCH! After using probably half of the ways, the speed increased a lot! It used to take 3 hours for a single frame to be rendered and now it only takes 4 minutes! Thank you so much
I just yesterday took up animation (finally) and came back to this video hoping to cut render times. Massive difference utilizing about half of the covered methods - render time went from nearly three minutes per frame down to a little over thirty seconds per frame. Across 600 frames, that made my day. (still no meth - I remembered that part)
How's that? Is Eevee actually useful for final renders? I thought it's only use is to give quick visual input via the viewport, and isn't really used for actual rendering.
Kersey Kerman can confirm that. It‘s absolutely awesome to have an instant visual reference of what you are doing but for that realistic look, cycles ist still the choice 👌🏼
@@kerseykerman7307 well depends on the scene. I started to use eevee more than cycles in some of my renders. If you play around with the lighting it becomes better but it will never be as good as cycles. I still love eevee for mograph/stylization/sci fi e.t.c. I use cycles for archviz or displacement/transparency related stuff
fun fact, you can kinda render on GPU and CPU at the same time. set everything up so that its ready to render, save the blend file, and open another one, then set one to CPU and one to GPU. btw, tips, make sure the CPU has 1 or 2 threads that does NOT render, otherwise the GPU one will be slower. so limit the CPU one a bit, you can do that in the render settings. Keep in mind, once you set both to render, ur computer will be useless untill its done, so dont do it unless you have no plans of using the PC any time soon.
I do this often, I'll have one project rendering in the background on CPU with 2 or so threads left and then I can continue working on another project using GPU compute for previews etc. or vice versa, depending on the situation.
If you really want to do some multitasking, there's a better way to do that. You can set the blender process that's rendering on the cpu to low priority from Task Manager, so Windows will give whatever program you are using a priority, while still assigning the rest of your CPU to the rendering. That means you can have your GPU and CPU rendering at 100% load 24/7 and also do more work at the same time on the same PC, especially if your CPU has an iGPU, you can also use that for the UI drawing, while your main card is rendering. That way you are using all your parts at 100%, while still running a browser or a third Blender window at +-60fps.
Watching this whilst waiting for my first original render to complete! Thanks so much for all your videos. You, alongside the guys at Corridor, opened up the world of visual effects to me and have ultimately led me to this point... even if it rendering still takes a lot of time :D Thanks again and keep helping people improve and inspire new people to try. - Will
I don't know if Andrew already mentioned this, but there is a addon called "Auto Tile Size" that calculates the optimal tile size for your graphic's card configuration. So you guys don't have to experiment, just push a button and Blender resizes it for you for maximum performance.
For the tile size, there's a plugin that I now believe is built in called Auto Tile Size that takes all of this into account, as well as some extra tricks to optimize the tiles (such as using numbers near powers of two to reduce partial tiles around the edges of the image).
Plugin is good, but remember that Blender does math in its number boxes, so just enter total hoz pixels divided by the number to hoz tiles, e.g. 1920/4 and it will set to the correct tile width... then do the same for the vert pixels... bigger tiles for GPU & smaller for CPU.
You are the GOAT of Blender tutorial i mean it sincerely, i watched tons of tutorial on youtube some are extremely good but every time i watched yours there is always some added details that i can't find else where or that i get in few separated tutorials...
I just watched your video yesterday and used these tips this morning. I was able to cut a 550 frame animation from a minute per frame down to 10 seconds! If my math is right, you just saved me over four hours in render time! I just want to say that your video is still very much relevant, 3 years later, and I sincerely appreciate that you put it out. Smashing that subscription button right now! Thank you
Another thing I suggest (going along with reducing samples). If you have a large scene with variations of assets, you can do this: Many times, I have rendered scenes where I am rendering volumetrics with 3D Geometry. I first do a few test renders (100-200 samples). At that stage, I notice that a lot of my 3D parts of the scene look pretty good and increasing the samples would be a waste ^ as Andrew stated. The volumetrics, however, as usual, need more samples to refine their looks. If you put your 3D stuff or whatever looks fine at low samples on another layer while keeping smoke on the first layer, (in the layers tab) you can actually change the sample amount for each layer! Most people probably know this, but for those who don't, this goes right along with the wasted samples idea Andrew talked about. With this layering method, you can render background stuff or whatever does not need to be cleaned with lower samples, while rendering your volumetrics and stuff at higher levels. This can really save a lot of time depending on the scene (at least in my experiences with this method.)
Hey man, just want to let you know I applied these tips and got great results. I was following your donut tutorial to learn blender, and I'm using a laptop that's not really designed for this kind of work. Just the donut without the environment and other objects was taking 8 minutes to render initially. I changed the render method to CPU, because I think the i7 in this laptop is better than the Nvidia GPU, and reduced tile size to 16. I changed max bounces to 2. And with denoising enabled I could reduce samples all the way to 32 without any loss of quality. Final render time was 1 minute 40 seconds.
"With great power comes great responsibility. Rest easy on the wicked for they have not seen the truth. Also, don't touch Meth." Bro, you had me rollin' lololol
Thanks for great tutorial, it allowed me to reduce render time 5 times. I'd like to share the next 2 ways: #19 - run your blend file from RAM disk - it reduces scene preparation by 20 seconds, my scene starts rendering after 15 second, before it was 40-45 seconds. Important is to unpack textures on RAM disk since when when it is packed into .blend file there is no speed up, I suspect .blend is not fully loaded to RAM so reading textures from RAM disk helps a lot. If you render video those 20s in each frame makes a major savings in render time #20 - important for GPU, before render set viewport shading to Solid to avoid unnecessary VRAM usage. This is especially important for GTX970, be sure you do not use over 3.5GB of VRAM, during the rendering. You can check it with GPU-Z. The last 500MB of GTX970 memory are very slow and when you get there rendering times doubles at least for my scene. I played with tiles size going up to 540x540 when I faced the issue, accidentally I noticed Texture/Material/Render viewport eats 2GB before render starts and you get to the slow memory area easily during rendering
Been watcNice tutorialng your vids for a good few weeks now, learning new sNice tutorialt each day. my worksoftow has improved so much since watcNice tutorialng
Denoiser is not magic, you can do it with photoshop too, but it's handy like this. Beware for artifacts though. it might still need some touch-up and tweaking. It's especially handy for fireflies.
Be mindful of the VRAM limitations when using the denoiser. Tile settings where the GPU works fastest can consume copious quantities of VRAM. This drawback won't (usually) apply to CPU rendering due to the small tile sizes.
Thanks man this is really helpful, I'm new to blender and having a hard time on rendering because of my old hardwares taking ages to finish rendering, but now after applying what I learned here the difference is like heaven and earth.
Andrew: "If you wanted to upgrade your cpu, you would have to upgrade your motherboard, which means you have to upgrade your ram," Me: *laughs hysterically in AM4*
I know this video is old and Blender has changed a lot, but for samples (at least on 3.2+): you can leave samples up pretty high (I usually leave it at 2048 or 4096) and then you can increase the threshold. From 0.01, I usually do 0.03 or 0.04. This will skip areas that already have enough paths. So if you have the samples higher and a higher noise threshold, it will help darker areas render clearer and reduce denoising artifacts.
"You forget how good hair looks until you don't have it anymore" - made me choke on my coffee. xD Thanks a lot for these great tips! Made my life much easier. :)
31:58 From my experience it works better to create a small rug with low particle counts and the Alt+D instance duplication and intersect them till it has the same tight look. It's tedious but it looks good.
Denoiser is not magic, you can do it with photoshop too, but it's handy like this. Beware for artifacts though. it might still need some touch-up and tweaking. It's especially handy for fireflies.
Photoshop's denoiser is VERY different from Blender's as far as denoisers go. You will find Photoshop's implementation far less effective than the denoiser in Blender since they were designed to remove different types of noise. And of course Blender has a heap of render data handy too.
I think the blender denoiser works so well because it knows what each sample holds and can nullify the grain using algorithms. Much better than just guess work, which is what photoshop does.
thanks for everything. And i would like to add something useful. "persistent data" is also very important improvement . And also you can save this settings in startup file.
One of the most creative ways to tell us Blender tips that I have ever seen. Absolutely love the concept and the info about rendering. Thank you! I'm sending this from the past BTW
for one frame, 16 hours and..... almost 91 PB of memory???? also at 16 hrs per frame, 1000 frames would take over 2 yrs but good skit, that was hilarious xD
I have needed this video for so long. I've always had my bounces way too high. Thanks Andrew..... you still salting your water ? You did miss one speedup.. even when rendering with GPU the CPU is still needed for setting up the scene so faster is better. I think the adaptive subdivs is CPU calculated.
You're the best teacher of any program I ever found in the Internet. Funny, engaging, and clear. Even though you're not always straight to the point, your segues are always new knowledge. Thank you, Andrew!
Thanks you so much You don't know how much time of mine you have save.as I'm a bignner My rendering time Before:30days After (watching the video):3hours
Note: With recent Blender, if you have an RTX card, you can use Optix instead which is focused for light rays rather than general computation (CUDA) Reducing the light bouncing drastically improved my cycles viewport rendering. Amazing!
the way you present these ways, short and precise... this makes this almost one hour video feel like 10 minutes. good work! and btw. your advice actually helped me!
He literally just compared a Titan X Pascal to a 6700k. That's totally unfair and even so he only got a 33% improvement. That means unless you got the best Gpu out there you should use the CPU.
HA! This is high comedy. I've watched many of your videos, Andrew, and this one takes the cake. Clearly a lot of effort put into narrative and the sense of humor and although it isn't quite as poignant with the intended information, I found the extraness to be very enjoyable. Thanks for all you do!
I would like a tutorial on how to remove the alpha transparency as I am making a scene with quite a few trees and I am not sure how to remove it. Please consider! (I learnt how to use blender from you, your the best!)
how much would you deem as enough ram when rendering with the CPU? I've just begun blendering(or whatever you can call it) and I want to get into it but I need a new PC. I think I'm gonna upgrade soon but I don't want to regret my purchase choice.
at DislsMe. Most scenes will be under 10 GB of ram but complex scenes will take anywhere up to 128GB ram, this would depend entirely on what you are making and rendering. i use GPU for most scenes and only move to CPU when I run out of GPU memory. max 6GB at the moment. but my PC has 24GB and this works fine...
Another great tutorial. I've been compiling a small list of very informative tutorials in case any of my friends want to learn or I forget some small, crucial detail.