A few amendments to the video. Thanks commenters for pointing this out. 1. The PNG/EXR difference comparison does not show only compression. It shows every difference between the two. 2. Often, TIFF is the preferred deliverable for print. 3. Cryptomattes ought not be lossy. Use ZIP 32-bit. 4. Bit-depth doesn't only double the amount of data; it does so for each channel. So an RGB image with double bit depth increases six-fold in precision, while only doubling in data. Good trade-off. 5. DWAA doesn't store 32-bit information, which is why the sizes are the same in the chart. (Unless the passes are named in a specific way.) 6. EXR doesn't bake in the tone-mapping. If you need that, TIFF is a good alternative to PNG.
When you say EXR doesn't bake the tone-mapping are you referring to the color transform? I don't have an AGX color transform option in Krita, so baking that in to png is the only way
@graphikeye You can use TIFF too, as it bakes transforms and its 32bit. If You still wanna use EXR, You can use build-in Krita's OpenColorIO library and set path for Blender LUTs configs, it will let You use the same configs, but only for View transform(AgX/Filmic), not Look. For more info check out Krita docs -- Color Managed Workflow part, they mention Blender interaction here.
@@stephen-boddy Shit, you're right. What I meant is that it increases the precision six-fold. Thanks for pointing it out. There's a lot of places to stumble on this topic.
My only problem with EXR is that there's no accurate color configuration for it in Premiere Pro, especially for Agx. Unless there's one that i don't know of. Would love if you could share your knowledge on this.
I think the comparison at 5:00 is a bit misleading. PNG is lossless format so it should show the exact same pixel values if you're encoding the same data. The difference there is that EXR can store floating point values where PNG only stores integer values regardless of the bit depth hence the massive difference in the sky and highlights. This makes sense in the context of rendering but there are scenarios where you don't need the data to be HDR (when creating textures typically) it would be interesting to compare how EXR and PNG compare in that scenario
Honestly, you're right on the money. It was a bit of an unfair comparison in a few ways, and I wish in hindsight that I'd shown a bit more nuance. As you say, the argument doesn't necessarily hold regarding textures. Thanks for the thoughtful comment.
@@kzone272 that's a common display error with PNG when shown in things like a browser but I find it you open it with photopea it displays correctly, as it does when loaded into a project as an asset
@@kzone272I believe that's simply due to the display transform, like how rec709 is gamma 2.2 and srgb is gamma 2.4, the EXR is also a "HDR" image, so most applications will choose to display it in HDR if your monitor supports it, I may be wrong though
0:55 is misleading. Bit depth refers to the precision with which the SAME image/video is stored. Storing values beyond "white" has nothing to do with the number of bits. You can do that in 8 bits or any number of bits. Also, saying that 8, 16 and 32 bits "double" the amount of data is strange since we are talking about precision. A 16bit PNG has 256 times more possible values per channel than 8bit. It's not just 2x as precise. This explains much better why 16bit is fine in almost all cases - and why some industries work with 10 or 12 bits - because 16 or 32 bit is unnecessarily precise. 3:20 He confuses HDR with lossless. PNG is lossless meaning an encoded image can be decoded into the exact same data. He actually means HDR again (storing values beyond white). But PNGs are also often used for that. 5:00 For whatever reason he is comparing a HDR file with a non-HDR file. Even if he thinks these files store the same data, the comparison doesn't make sense since two lossless files with the same precision obviously should contain identical pixel values - assuming you encode and decode the data correctly. Strange "proofs".
Great explanation! But, regarding deliverables, one should always talk to the client, or in my case, check with the printer first. The printer told me that he prefers 16 bit TIFFs for best quality. The test prints for my upcoming exhibition are looking gorgeous, btw. 😎
Your comparison between the EXR and PNG isn't showing the difference in compression quality. PNG exports with SDR tonemapping, whereas EXR export are linear unclipped HDR data. This means you will see a big difference in the brighter areas, which are squashed down when doing SDR tonemapping. You should have exported the PNG with linear tonemapping and clipped the EXR to a max of 1.0 to get a perfect comparison.
You're absolutely right. That would've been a more fair comparison. But the HDR/SDR difference is one that I feel is relevant and that I wanted to show. But you're right; it definitely doesn't show compression alone. I wouldn't say that breaks the core argument though.
Learning about DWAA EXRs a few years ago blew my mind. Why this didn't become the gold standard for decently compressed high quality outputs IMMEDIATELY is just mind boggling to me. We've had this format for so long and it's been practically ignored for like half its existence.
Most the time i want a file that is easy to share and can be edited later. Storage is cheap so 16 bit png is usually fine. If i need hdr then i look at exr.
One issue I've experienced with using exr is that when it's saved in blender, it usually doesn't look like the png file when loaded into a photo manipulation program like krita. This is usually cos of the color management (AGX or Filmic)
My problem with EXR is that the export is in completely different contrast and colors than what the vieweport shows me. I understand that EXR carries a greater depth of color but honestly, I don't have the time and I'm tired of having to adjust contrast and complexly recolor every export.
DUDE! i have 10 years of blender experience so i didn't learn anything new (except that win+ctrl+shift+B which blew my mind lol), but i still watched every video in this series because the explanation quality was SO high and enjoyable. i'll pass the link to this playlist to all of my students! thanks for you hard work, the community is getting so filled by literally noobs teaching everybody how to do stuff that people like you are a much needed breath of fresh hair!
You're wrong about browsers only supporting 8-bit. You can use AVIF to display 10-bit HDR images, it's supported by most browsers. Also Safari supports HEIC.
Actually JPEG2000 is a better storage format than PNG. It's a more advanced jpeg format that allows for 16-bit integer precision, transparency, and either lossless or lossy compression. The problem with EXR files is that they are not color managed whereas PNG, JPEG, and JPEG2000 can embed that information, you have to know what color space they are intended for which is weird to me, but it is what it is. Also, regarding the 16-bit section, 16-bit can be both integer and floating point, that's an important distinction to make when saving. JPEG is only 8-bit integer, but PNG and JPEG2000 can save 16-bit integer. EXR is floating point in either 16-bit or 32-bit.
Thanks for adding that! I've been curious about JPEG2000, but always considered it too fringe to really use. And you're 100% right about the float and integer point.
JPEG can't do very slow gradients because there is quantization in YCbCr domain, which is only removed with the new JpegLi codec which no software has. You can see a similar effect in the video encoding on the chart scenes here. They show a grey ellipse with blocky borders instead of a smooth blob. Lossless EXR compression is better/faster than PNG. But it's a very complex format and only pro tools support it fully.
Size these days doesn't matter in most cases. PNG is still the most compatable and reliable format. MOST reglar programs don't support DWA or EXR etc. PNG of JPG or svg are the primary formats I use.
The reason jpeg is smaller is because you loose a lot of information about the Hue even if your setting is acceptable for your eyes that are better at detecting contrasts. If you do professional work please use png as it correctly stores the result of your render, jpeg does not and it would show as soon as you start doing color corections. For your delivery still use png as it's the most accurate output you can give too. If you don't know if you need lossless, you do. Always. As for the test shown with the difference layer on a png, what it was is the color space change. If someone needs a smaller size he can always convert the images. If the goal is to convert the images to video at some point you would have double compression on jpg. Stick to 16bit png for work and delivering with 8bit png is fine.
non-HDR formats typically use a color space that applies a gamma function to squeeze more important color data along the bit depth. Thats why you see the colors change doing a diff check on the EXR vs PNG (lossless). DDWA and JPG compressions are very destructive even if you don't think you can see anything change. Also PNG uses zip compression per scan line, so at a point it doesn't matter how high you crank the quality slider, the compression will have a diminishing return on size and will impact load times. I personally don't see why anyone in this day in age would not use lossless, even if your image was horribly compressed blender still unpacks that image in full in memory. maybe you save a bit of time on loading time? but use a NMVe and you'll get 7GB/s transfer speeds and be laughing when your 5GB blend file loads in one second
even if you need transparency you can render in Jpeg the color channel and then the alpha channel separatly, since you'll usually only need alpha in compositing that's be fine too
there *MIGHT* be a math problem when you subtracted the 32 bit EXR from the 16 BIT PNG. the PNG is stored as an Integer, while the EXR is stored as FLOAT, affinity *MAY NOT* handle the changes properly and might give misleading results. I would not consider your experiment as any sort of proof, in particular since 16 bit PNG's are lossless . I think the two images are just mapped differently. all that being said, i pretty much exclusively use EXR for everything in much the same way you do, except i use pxr24 for depth maps as the 16 bit tends to be too coarse for the things i do also you can use alpha with jpeg2000 format, but who the heck uses that ? amrite
Hey, thanks for the In-Depth Video. Love to see more professional knowledge getting to the Blender Community. You could have added that there is a difference between 16 bit EXR and 16 Bit png. 16bit exr is "half" float meaning that you get 32bit float values where negative colors (lower that 0) or overbrights (brighter that 255 or 1) while having half the precision. 16 bit png and tiffs only have integers values so you dont have negatives or overbrights. In regards to png vs jpg, png gets smaller file sizes whith the amount of color represent. so a 10k image with only black and white and no greys should be much smaller than the corresponding jpg. Kepp up the good work :)
9 месяцев назад
Fantastic vid. Ive always used png, now i know better. Greetings from Ecuador, you've earned a sub!
I feel the only reason I use png is to see the thumbnail while it renders.. having to open EXRs every time is a huge pain.. Outside that, Ill change my default settings now thanks!
Thank you! It was informative and of course fun. That comparison between PNG and DXR was a bit unfair since you know that gamma curve is probably different or something.. but again, thanks!
In the comparison i think we compared 32 bit EXR file with 16 bit PNG file. This can be a reason for the difference in quality. Btw great video, learned something new.
Exr rules them all. If you increase the dwaa compression up to 500 you can have a smaller version almost the same size as a jpg. Very good to render precomps without noise.
Honestly, when I was working with 3ds max and vray I always exported exr 32bpc but now I'm using blender an I'm more than happy with the default filmic blender tone mapping 😄 it saves me a lot of time. Now I just save it as a PNG 16bpc, do slight color adjustments and it's done for my use case ✨
thank you. I have been saying this for years, but because png is significantly slower to write than other formats due to the compression. So much so that I have had cases where it took longer to write the frame to disk, than to render it in the first place.
WebP is really interesting. I don't have much experience with it, but it claims to support both lossless and lossy compression. So you may be able to figure out a way to avoid generation loss with that.@@GinoZump
As a photographer I have found first hand that there are images and situations that can’t be properly displayed using a 100% quality jpeg. It is simply not possible in extreme situations to have smooth gradients. So if you are working in a colorful project I recommend you to test it in some situations. Also, a lot of screens nowadays are 10 bit. All HDR screens are 10 bit, they have to be. But if your image is not in HDR (does blender even support that?) it might not matter. 10 bit would probably solve the Joe’s banding problem, but jpegs don’t support 10 bit. EDIT: As others pointed out in other comments, EXR seems to support HDR andin this video HDR seems to be confused with lossless.
Thanks for sharing! I didn't know about the difference between JPG and PNG regarding (with/without) transparency. I did learn about DWAA codec, but probably didn't need 32 bit for my short 😅 good visual charts too.
Thanks for the video! It’s really hard to find storage for png renders but I can’t figure out how to make EXR look the same with AGX color Blender viewport render. I send it to AE and use opencolorIO but it’s not the same with png renders no matter what I do. Can you make a video about this topic?
For compositing or color grading, always go for EXR no brainer. For printing, TIFF is preferable. If you do none of those? PNG or even JPEG is fine. EXR is basically digital render equivalent of camera RAW format. If you want the best color grading workflow you have to use RAW.
This is almost certainly RUclips's fault, but the compression artifacts in the video make comparisons like 2:27 less accurate even at the highest quality setting.
I saved a 16k normal map from one of my projects in PNG RGBA 0% compress and EXR DWAA 16bit and the DWAA version ended up being 11MB LARGER than the PNG.
The more often you use and open a jpg the more the jpg deletes what it considers "junk information". If you're consistently loading a project that opens a jpg and then close the jpg, you're losing image data. Doing this a handful of times won't have a visual difference, but you will eventually start to get banding in similar colors.
That's not quite right. If that were the case, you would see the file size shrink each time you open it. What you're describing happens every time you overwrite the jpeg file, which does not happen by loading it into a project.
One more thing about Exr -- sadly, it ignores Color managament in render properties. Yes, that fine if you know how its work, but if no -- you will cry cuz image will not be the same as render with its AgX/Flimic/whatever transforms. There is one sad moment about transparent PNG too -- if you are using any post like bloom/glare and others with transparent background, you will loose it cuz PNG doesnt support premultiplied alpha which one Blender uses.
EXR development is not to be mistaken with how (sometimes poorly and non-standardized) implemented EXR is in some software. The same could be said about Alembic or more lately USD 3d file format.
@@SKIENTIA yep, and thats sometimes really stupid, cuz industry standard software cant provide the same implementation of opensource file format with wide capabilities. Wanna sometimes cry about it(
EXR unfornutely is not usable in Photoshop. As you said the color management is ingored. Really bad. Working with multilayer exr's would make my life a lot easier. I switched from Cinema4d , where you can save out multilayer psd files which is a dream for still images.
I've not used PNG for sooo long now. After about a year of blender, I was tidying up my pc and realized I had 25GB OF RENDERED FILES! Definitely worth thinking about if you're serious with blender
Thanks! Is there a way to check my channel's community posts? I've posted the flowchart there. I'll see if I can link it in the description. (edit: Here's a download for you 1drv.ms/i/s!AuLCSE-VGaTGgY0hfb0SI6w9ijT1dw?e=5gYyTh)
Only thing with EXR files i noticed especially inside unity projects.. is that yes they are very small and keep amazing details, but they are also very prone to corrupting a whole project if even a single bit is not uncompressed by the program or shader it is getting loaded in ( had a hard time figuring out why a test build would use up 11 GB of VRAM as it had only the 3D cube and a 130 KB EXR texture.. it was the EXR failing to load into VRAM (switched to a 2 MB png of the same texture and the VRAM usage was 7 MB)
If that was the case, EXR wouldn't be the back-bone format of the industry and for once, a valid standard (unlike many others). The benefit of CGI offline rendering is that any frame can be re-rendered t any time, granted the pipeline is on-par with today's protocols/best conventional habits. PNG rendering is ***never*** a rational and suitable choice.
As a consumer of a lot of online renders, I've learned that some image sharing websites will do extra compression of JPGs. That's why people "accuse" JPG of being low quality, because like it or not, a lot of places will take the opportunity to compress it "a little bit", which when the image is reshared, websites will compress it "a little bit" again. That's why terms like "Needs more JPEG" exists. Trying to do the same thing with PNG would only make the PNG load slower, but no quality reduction (though nowadays some sites seem to convert to JPG anyway). Additionally, I have one friend who does 2D art and was told to render in JPG "due to its lower quality" to try to sell the "full, proper quality" elsewhere like a patron subscription service. It's much harder to deliver a low-quality PNG than a JPG.
So the thing is, you only need PNG if you need it for something like an icon or with a transparent background, EXR for postprocessing, and for anything else, you simply use JPG. So yes, the title is not clic bait; most of the time, you don't need PNG.
What people always fail to mention is that exr doesnt save the color transform. I havent found a way to re apply agx after in photoshop so this is misleading to say the least. Even if you know how tomedit photos is not easy to color correct an exr file
The problem with EXR is that you can't apply the view transforms in blender like AgX or Filmic otherwise I would always use it. The standard view transform in blender which it uses is quite ugly
@@robinsquaresplease make a tutorial for agx in affinity/photoshop. My colors are always way off, I've tried creating luts and such, but no success...
NB. If you need to use after effects, the reading time of exr is horrible. I mainly use dwaa, but sometimes I have to use png if I want quick iterations on simple graphics in AE. I hate that the exr is so badly optimized so hopefully adobe fix that in near future.
Adobe software are notoriously known from being unsuitable (and flawed) for CGI post. TIFF is to thoughtfully consider as the next choice where/when EXR isn't suitable in those edge cases.
Damn dude, insta subscribe, howcome I haven't found you sooner. Known about this, been using EXR. I am only a hobby artist. But your explanation is clear and your video was so pleasant to watch I had to stop on 2 minute mark and make sure I subscribe.
I guess a solid dark background would be just fine in these cases. I like dark gradients but when they are this subtle they are just banded into blobs when compressed.
A few amendments to the video. Thanks commenters for pointing this out.
1. The PNG/EXR difference comparison does not show only compression. It shows every difference between the two.
2. Often, TIFF is the preferred deliverable for print.
3. Cryptomattes ought not be lossy. Use ZIP 32-bit.
4. Bit-depth doesn't only double the amount of data; it does so for each channel. So an RGB image with double bit depth increases six-fold in precision, while only doubling in data. Good trade-off.
5. DWAA doesn't store 32-bit information, which is why the sizes are the same in the chart. (Unless the passes are named in a specific way.)
6. EXR doesn't bake in the tone-mapping. If you need that, TIFF is a good alternative to PNG.
When you say EXR doesn't bake the tone-mapping are you referring to the color transform? I don't have an AGX color transform option in Krita, so baking that in to png is the only way
@graphikeye You can use TIFF too, as it bakes transforms and its 32bit. If You still wanna use EXR, You can use build-in Krita's OpenColorIO library and set path for Blender LUTs configs, it will let You use the same configs, but only for View transform(AgX/Filmic), not Look.
For more info check out Krita docs -- Color Managed Workflow part, they mention Blender interaction here.
#4 is just... wrong!
8 bit depth = 8(r) + 8(g) + 8(b) = 24 bpp (bits per pixel)
16 bit depth = 16(r) + 16(g) + 16(b) = 48 bpp
32 bit depth = 32(r) + 32(g) + 32(b) = 96 bpp
Doubling the bit depth still only doubles the data.
@@stephen-boddy Shit, you're right. What I meant is that it increases the precision six-fold. Thanks for pointing it out. There's a lot of places to stumble on this topic.
My only problem with EXR is that there's no accurate color configuration for it in Premiere Pro, especially for Agx. Unless there's one that i don't know of.
Would love if you could share your knowledge on this.
I think the comparison at 5:00 is a bit misleading. PNG is lossless format so it should show the exact same pixel values if you're encoding the same data. The difference there is that EXR can store floating point values where PNG only stores integer values regardless of the bit depth hence the massive difference in the sky and highlights.
This makes sense in the context of rendering but there are scenarios where you don't need the data to be HDR (when creating textures typically) it would be interesting to compare how EXR and PNG compare in that scenario
Honestly, you're right on the money. It was a bit of an unfair comparison in a few ways, and I wish in hindsight that I'd shown a bit more nuance. As you say, the argument doesn't necessarily hold regarding textures. Thanks for the thoughtful comment.
@@robinsquaresW for hindsight
When you dragged that PNG in it was quite visibly darker. That looked like it was in the wrong color space to me.
@@kzone272 that's a common display error with PNG when shown in things like a browser but I find it you open it with photopea it displays correctly, as it does when loaded into a project as an asset
@@kzone272I believe that's simply due to the display transform, like how rec709 is gamma 2.2 and srgb is gamma 2.4, the EXR is also a "HDR" image, so most applications will choose to display it in HDR if your monitor supports it, I may be wrong though
0:55 is misleading. Bit depth refers to the precision with which the SAME image/video is stored. Storing values beyond "white" has nothing to do with the number of bits. You can do that in 8 bits or any number of bits.
Also, saying that 8, 16 and 32 bits "double" the amount of data is strange since we are talking about precision. A 16bit PNG has 256 times more possible values per channel than 8bit. It's not just 2x as precise. This explains much better why 16bit is fine in almost all cases - and why some industries work with 10 or 12 bits - because 16 or 32 bit is unnecessarily precise.
3:20 He confuses HDR with lossless. PNG is lossless meaning an encoded image can be decoded into the exact same data. He actually means HDR again (storing values beyond white). But PNGs are also often used for that.
5:00 For whatever reason he is comparing a HDR file with a non-HDR file. Even if he thinks these files store the same data, the comparison doesn't make sense since two lossless files with the same precision obviously should contain identical pixel values - assuming you encode and decode the data correctly. Strange "proofs".
you are awesome
So is that what he says completely wrong, or are his arguments still valid?
@@sebastiengorecki4254 im wondering the same
I find this comment more valid than the entire video!
@@sebastiengorecki4254 I would lean towards "wrong".
Great explanation! But, regarding deliverables, one should always talk to the client, or in my case, check with the printer first. The printer told me that he prefers 16 bit TIFFs for best quality. The test prints for my upcoming exhibition are looking gorgeous, btw. 😎
Oh, absolutely. Honestly, I just forgot to mention print. It's such a small part of my work these days. I'll pin your comment.
Save it as tiff at the end. Rendering tiffs will just fill your drive.
@@jhalanddesign I usually go EXR and export what I need in post.
@@robinsquaresWheres the Pin LUL
I was thinking something similar with TIFFs. I switched over a few months ago and I've noticed a nice quality bump with some of my renders since.
PNG is a container format. The video is like saying “never use a square fridge” … has little to do with the food inside.
Your comparison between the EXR and PNG isn't showing the difference in compression quality. PNG exports with SDR tonemapping, whereas EXR export are linear unclipped HDR data. This means you will see a big difference in the brighter areas, which are squashed down when doing SDR tonemapping. You should have exported the PNG with linear tonemapping and clipped the EXR to a max of 1.0 to get a perfect comparison.
You're absolutely right. That would've been a more fair comparison. But the HDR/SDR difference is one that I feel is relevant and that I wanted to show. But you're right; it definitely doesn't show compression alone. I wouldn't say that breaks the core argument though.
Linearly encoded PNG is still integer and "SDR". Unusable regardless of the encoding, not to mention its inapt "alpha" encoding.
Learning about DWAA EXRs a few years ago blew my mind. Why this didn't become the gold standard for decently compressed high quality outputs IMMEDIATELY is just mind boggling to me. We've had this format for so long and it's been practically ignored for like half its existence.
tbh this is one of THE MOST well made video i've ever seen in youtube
i come back to it and watch it from time to time
Most the time i want a file that is easy to share and can be edited later. Storage is cheap so 16 bit png is usually fine. If i need hdr then i look at exr.
this is what happens when non programmers make a video on a file format 😂
Wow that was amazing!! Seems like small information but huge for the quality and space!! Thank you man, you saved my life!!
10 years in blender and.... I never thought of this, yet use EXR and HDRI all the time. Thank you.
One issue I've experienced with using exr is that when it's saved in blender, it usually doesn't look like the png file when loaded into a photo manipulation program like krita. This is usually cos of the color management (AGX or Filmic)
Lucky for you, I release a video about that today!
@@robinsquares thanks. Imma check it out
can't find the video.
You got some of the most comprehensible videos about exporting and storing art files in YT, thanks
My problem with EXR is that the export is in completely different contrast and colors than what the vieweport shows me. I understand that EXR carries a greater depth of color but honestly, I don't have the time and I'm tired of having to adjust contrast and complexly recolor every export.
DUDE! i have 10 years of blender experience so i didn't learn anything new (except that win+ctrl+shift+B which blew my mind lol), but i still watched every video in this series because the explanation quality was SO high and enjoyable. i'll pass the link to this playlist to all of my students! thanks for you hard work, the community is getting so filled by literally noobs teaching everybody how to do stuff that people like you are a much needed breath of fresh hair!
Thank you so much. Comments like this make my day.
You're wrong about browsers only supporting 8-bit. You can use AVIF to display 10-bit HDR images, it's supported by most browsers. Also Safari supports HEIC.
My blending is so god damn optimized right now, you have no idea
And yet your mouth is a sewer, so I don't think your 'blending' matters much at all. It is 3D art, and AI will soon destroy many of the jobs.
tell me also
That was incredibly informative 😮
Good video, but comparing zoomed in JPEG and PNG should have been done without interpolation, as that defeats the purpose of the comparison.
Now that's a well presented and good piece of knowledge!
Actually JPEG2000 is a better storage format than PNG. It's a more advanced jpeg format that allows for 16-bit integer precision, transparency, and either lossless or lossy compression. The problem with EXR files is that they are not color managed whereas PNG, JPEG, and JPEG2000 can embed that information, you have to know what color space they are intended for which is weird to me, but it is what it is. Also, regarding the 16-bit section, 16-bit can be both integer and floating point, that's an important distinction to make when saving. JPEG is only 8-bit integer, but PNG and JPEG2000 can save 16-bit integer. EXR is floating point in either 16-bit or 32-bit.
Thanks for adding that! I've been curious about JPEG2000, but always considered it too fringe to really use. And you're 100% right about the float and integer point.
JPEG can't do very slow gradients because there is quantization in YCbCr domain, which is only removed with the new JpegLi codec which no software has. You can see a similar effect in the video encoding on the chart scenes here. They show a grey ellipse with blocky borders instead of a smooth blob. Lossless EXR compression is better/faster than PNG. But it's a very complex format and only pro tools support it fully.
Size these days doesn't matter in most cases. PNG is still the most compatable and reliable format. MOST reglar programs don't support DWA or EXR etc. PNG of JPG or svg are the primary formats I use.
Amazingly well laid out, thank you. I have been using .png since my photography days, so this is a game changer for me!
The reason jpeg is smaller is because you loose a lot of information about the Hue even if your setting is acceptable for your eyes that are better at detecting contrasts. If you do professional work please use png as it correctly stores the result of your render, jpeg does not and it would show as soon as you start doing color corections. For your delivery still use png as it's the most accurate output you can give too. If you don't know if you need lossless, you do. Always. As for the test shown with the difference layer on a png, what it was is the color space change. If someone needs a smaller size he can always convert the images. If the goal is to convert the images to video at some point you would have double compression on jpg. Stick to 16bit png for work and delivering with 8bit png is fine.
Thank you for the explanation❤
"oh i get it... well i guess EXR is only useful if you actually work professionally as aaaaAAAAAAAA DWAA DOES W H A T ! ?"
Hey! but importing that exr File in Photoshop makes it look weird
Keep your eyes peeled! I'm solving that in today's video.
Very much appriciate your effort. The whole series is a must See and very well done.
Oh if only modern formats like .webp and .jxl were more adopted.
I find it very amusing that the slide about bit-depth had the gradient all stepped to bits both literal and figurative 😂
Watching this series now gave me extreme anxiety and makes me don't wanna touch blender ever again cuz it just feels like a lot of work to do.
That's basically a entire lesson on rendering. Nice video !
I used to hate and avoid exr files because of the ridiculously large file size. Thanks so much for this tip!
Watched your other videos, I really love how you explain things and very easy to understand.
What a great video. Literally, i've been using png for the last 8 years without knowing the real difference. Thanks.
non-HDR formats typically use a color space that applies a gamma function to squeeze more important color data along the bit depth. Thats why you see the colors change doing a diff check on the EXR vs PNG (lossless). DDWA and JPG compressions are very destructive even if you don't think you can see anything change. Also PNG uses zip compression per scan line, so at a point it doesn't matter how high you crank the quality slider, the compression will have a diminishing return on size and will impact load times. I personally don't see why anyone in this day in age would not use lossless, even if your image was horribly compressed blender still unpacks that image in full in memory. maybe you save a bit of time on loading time? but use a NMVe and you'll get 7GB/s transfer speeds and be laughing when your 5GB blend file loads in one second
even if you need transparency you can render in Jpeg the color channel and then the alpha channel separatly, since you'll usually only need alpha in compositing that's be fine too
seeing the comparisons between PNG and JPEG, I feel like an idiot looking at my folders of PNG sequences that take up multiple gigabytes lol
there *MIGHT* be a math problem when you subtracted the 32 bit EXR from the 16 BIT PNG. the PNG is stored as an Integer, while the EXR is stored as FLOAT, affinity *MAY NOT* handle the changes properly and might give misleading results. I would not consider your experiment as any sort of proof, in particular since 16 bit PNG's are lossless . I think the two images are just mapped differently.
all that being said, i pretty much exclusively use EXR for everything in much the same way you do, except i use pxr24 for depth maps as the 16 bit tends to be too coarse for the things i do
also you can use alpha with jpeg2000 format, but who the heck uses that ? amrite
"It's not high quality" my dude it is lossless with 32 bits per pixel.
Hey, thanks for the In-Depth Video. Love to see more professional knowledge getting to the Blender Community.
You could have added that there is a difference between 16 bit EXR and 16 Bit png. 16bit exr is "half" float meaning that you get 32bit float values where negative colors (lower that 0) or overbrights (brighter that 255 or 1) while having half the precision. 16 bit png and tiffs only have integers values so you dont have negatives or overbrights.
In regards to png vs jpg, png gets smaller file sizes whith the amount of color represent. so a 10k image with only black and white and no greys should be much smaller than the corresponding jpg.
Kepp up the good work :)
Fantastic vid. Ive always used png, now i know better. Greetings from Ecuador, you've earned a sub!
I feel the only reason I use png is to see the thumbnail while it renders.. having to open EXRs every time is a huge pain..
Outside that, Ill change my default settings now thanks!
How can I solve the linear problem? When I import the EXR into PHOTOSHOP, several colors are modified and it becomes more saturated and bright
In about three hours, you'll get a half-hour answer to that question on my channel.
very interesting, thank you!
Thank you! I'll use this as a guide from now on.
All this time my only rule is that: There's no point using .PNG if it's not indexed.
Thank you! It was informative and of course fun. That comparison between PNG and DXR was a bit unfair since you know that gamma curve is probably different or something.. but again, thanks!
In the comparison i think we compared 32 bit EXR file with 16 bit PNG file. This can be a reason for the difference in quality.
Btw great video, learned something new.
Exr rules them all.
If you increase the dwaa compression up to 500 you can have a smaller version almost the same size as a jpg. Very good to render precomps without noise.
Man you've done it the best
Honestly, when I was working with 3ds max and vray I always exported exr 32bpc but now I'm using blender an I'm more than happy with the default filmic blender tone mapping 😄 it saves me a lot of time. Now I just save it as a PNG 16bpc, do slight color adjustments and it's done for my use case ✨
…I could’ve saved 50 GB of space…if I knew this before..
Well then, when I get my new PC I will be keeping this in mind
thank you. I have been saying this for years, but because png is significantly slower to write than other formats due to the compression. So much so that I have had cases where it took longer to write the frame to disk, than to render it in the first place.
Can you please drop a 15 minute long tutorial on texture projection? In blender 4.0
Strange. I've heard jpegs lose quality each time you save a copy and pngs don't
They both do, I'm afraid. If anything, it's the other way around, because there is a version of JPEG called JPEG 2000 that is lossless.
@@robinsquares wow. Thx. And does webp have that advantage if you don't mind me asking?
WebP is really interesting. I don't have much experience with it, but it claims to support both lossless and lossy compression. So you may be able to figure out a way to avoid generation loss with that.@@GinoZump
Thanks, I had no idea that EXR existed but my file size is way smaller now!
As a photographer I have found first hand that there are images and situations that can’t be properly displayed using a 100% quality jpeg. It is simply not possible in extreme situations to have smooth gradients.
So if you are working in a colorful project I recommend you to test it in some situations.
Also, a lot of screens nowadays are 10 bit. All HDR screens are 10 bit, they have to be. But if your image is not in HDR (does blender even support that?) it might not matter.
10 bit would probably solve the Joe’s banding problem, but jpegs don’t support 10 bit.
EDIT: As others pointed out in other comments, EXR seems to support HDR andin this video HDR seems to be confused with lossless.
Thanks for sharing! I didn't know about the difference between JPG and PNG regarding (with/without) transparency. I did learn about DWAA codec, but probably didn't need 32 bit for my short 😅 good visual charts too.
amazing video as always
Thanks for the video! It’s really hard to find storage for png renders but I can’t figure out how to make EXR look the same with AGX color Blender viewport render. I send it to AE and use opencolorIO but it’s not the same with png renders no matter what I do. Can you make a video about this topic?
For compositing or color grading, always go for EXR no brainer. For printing, TIFF is preferable. If you do none of those? PNG or even JPEG is fine.
EXR is basically digital render equivalent of camera RAW format. If you want the best color grading workflow you have to use RAW.
This is almost certainly RUclips's fault, but the compression artifacts in the video make comparisons like 2:27 less accurate even at the highest quality setting.
Cool to see we don't need TIFF files anymore.
I saved a 16k normal map from one of my projects in PNG RGBA 0% compress and EXR DWAA 16bit and the DWAA version ended up being 11MB LARGER than the PNG.
the video that i needed years ago, but i'm glad it's here now
great work!
The more often you use and open a jpg the more the jpg deletes what it considers "junk information". If you're consistently loading a project that opens a jpg and then close the jpg, you're losing image data. Doing this a handful of times won't have a visual difference, but you will eventually start to get banding in similar colors.
That's not quite right. If that were the case, you would see the file size shrink each time you open it. What you're describing happens every time you overwrite the jpeg file, which does not happen by loading it into a project.
One more thing about Exr -- sadly, it ignores Color managament in render properties. Yes, that fine if you know how its work, but if no -- you will cry cuz image will not be the same as render with its AgX/Flimic/whatever transforms.
There is one sad moment about transparent PNG too -- if you are using any post like bloom/glare and others with transparent background, you will loose it cuz PNG doesnt support premultiplied alpha which one Blender uses.
Both of these are very good points. Thanks for adding that. I'll consider supplementing this video with a tutorial on linear transforms some time.
EXR development is not to be mistaken with how (sometimes poorly and non-standardized) implemented EXR is in some software. The same could be said about Alembic or more lately USD 3d file format.
@@SKIENTIA yep, and thats sometimes really stupid, cuz industry standard software cant provide the same implementation of opensource file format with wide capabilities. Wanna sometimes cry about it(
EXR unfornutely is not usable in Photoshop. As you said the color management is ingored. Really bad. Working with multilayer exr's would make my life a lot easier. I switched from Cinema4d , where you can save out multilayer psd files which is a dream for still images.
Absolutely amazing video, great source for the video, and just a great explanation!
Short, straight to the point, no beating around the bush. Just what I needed for a video like this to improve my renders, thank you!
I've not used PNG for sooo long now. After about a year of blender, I was tidying up my pc and realized I had 25GB OF RENDERED FILES! Definitely worth thinking about if you're serious with blender
Hey, great video! I would really love to get some downloadable graphics i can reference later
Thanks! Is there a way to check my channel's community posts? I've posted the flowchart there. I'll see if I can link it in the description.
(edit: Here's a download for you 1drv.ms/i/s!AuLCSE-VGaTGgY0hfb0SI6w9ijT1dw?e=5gYyTh)
@@robinsquaresthank you! It's really great seeing a channel like yours rising like it should, I hope you continue the great work!
great video and thank you for justifying my love for jpg
Do you also render video's with JPG?
Came for the knowledge and stayed for the soothing background music. Thanks for sharing this with us!
How insightful and informative! Thank you for making this video! Will look at the whole series!
Thank you for the video. Could you make a video explaining the mechanism of packing various images into one exr file? Please.
If you look real close, the whole process is shown in the video. Compositor file output.
This video is incredible and is going to save me so much space it isn't even funny. 🙏🙏🙏
Only thing with EXR files i noticed especially inside unity projects.. is that yes they are very small and keep amazing details, but they are also very prone to corrupting a whole project if even a single bit is not uncompressed by the program or shader it is getting loaded in ( had a hard time figuring out why a test build would use up 11 GB of VRAM as it had only the 3D cube and a 130 KB EXR texture.. it was the EXR failing to load into VRAM (switched to a 2 MB png of the same texture and the VRAM usage was 7 MB)
If that was the case, EXR wouldn't be the back-bone format of the industry and for once, a valid standard (unlike many others). The benefit of CGI offline rendering is that any frame can be re-rendered t any time, granted the pipeline is on-par with today's protocols/best conventional habits.
PNG rendering is ***never*** a rational and suitable choice.
My blender is so optimized now my dad loves me again, I got hired and my teeth are cleaner!
As a consumer of a lot of online renders, I've learned that some image sharing websites will do extra compression of JPGs. That's why people "accuse" JPG of being low quality, because like it or not, a lot of places will take the opportunity to compress it "a little bit", which when the image is reshared, websites will compress it "a little bit" again. That's why terms like "Needs more JPEG" exists. Trying to do the same thing with PNG would only make the PNG load slower, but no quality reduction (though nowadays some sites seem to convert to JPG anyway). Additionally, I have one friend who does 2D art and was told to render in JPG "due to its lower quality" to try to sell the "full, proper quality" elsewhere like a patron subscription service. It's much harder to deliver a low-quality PNG than a JPG.
most sophisticated clickbait title ever 👑
Amazing video exactly what i needed for an upcoming project :)))
So the thing is, you only need PNG if you need it for something like an icon or with a transparent background, EXR for postprocessing, and for anything else, you simply use JPG. So yes, the title is not clic bait; most of the time, you don't need PNG.
What people always fail to mention is that exr doesnt save the color transform. I havent found a way to re apply agx after in photoshop so this is misleading to say the least. Even if you know how tomedit photos is not easy to color correct an exr file
Lucky for you, my next video shows you how to do that. Not misleading; just incomplete.
damn, i wonder why my png renders always looked so rough, i know now thanks
Robin Squares: "Why I never render PNG"
Also Robin Squares: "For deliverables I do PNG..."
The problem with EXR is that you can't apply the view transforms in blender like AgX or Filmic otherwise I would always use it. The standard view transform in blender which it uses is quite ugly
If you're bringing it out of Blender and don't have a workflow for getting the same colors, I feel you. TIFF is a good alternative for you
@@robinsquaresplease make a tutorial for agx in affinity/photoshop. My colors are always way off, I've tried creating luts and such, but no success...
NB. If you need to use after effects, the reading time of exr is horrible. I mainly use dwaa, but sometimes I have to use png if I want quick iterations on simple graphics in AE. I hate that the exr is so badly optimized so hopefully adobe fix that in near future.
Adobe software are notoriously known from being unsuitable (and flawed) for CGI post. TIFF is to thoughtfully consider as the next choice where/when EXR isn't suitable in those edge cases.
Lol I soooo needed this series for my potato PC! 🤣👍
Huh, hard to be resistant to the idea when the examples are laid out like this. Thanks!
Damn dude, insta subscribe, howcome I haven't found you sooner. Known about this, been using EXR. I am only a hobby artist. But your explanation is clear and your video was so pleasant to watch I had to stop on 2 minute mark and make sure I subscribe.
Fantastic work ❤
I want to know usability, plus movie workflow. Because everytime I have used EXR outside of HDRis for Unity, it has been a nightmare to work with.
Pleeease, tell me what is that music playing on the background ?
bro i'm looking for
If nobody got me,
I know PNG got me.
Nothing can convince me to stop using PNG.
I've learned a few things... Great episode!
I like dark gradient backgrounds but you must know the atrocity RUclips compression does to it, it very distracting. Anyway, great video!
Would it be better if it were white?
I guess a solid dark background would be just fine in these cases. I like dark gradients but when they are this subtle they are just banded into blobs when compressed.
@@lpcamargo I used a solid color for all the backgrounds, so I guess that's still a problem. I've heard that you can get a better bitrate in 4K?
If only we could have transparency EXR
Thanks! Gonna go delete all my pngs and see how much storage I'ma get back
We also have webp format now