Texture resolution: explained why powers of 2

At around video time 6:50 you make the comment that you can use whatever size of texture you want that is not powers of 2 and blender will be fine. While I agree with this I think there is an important point I would like to add if it is correct.

I believe from my computer training days the Powers of 2 rule applies best because the computer is going to dedicate memory only on a powers of 2 basis. So regardless of what you choose to have the computer is going to put that in a box/container that is on the order of a power of 2. 

For example if you pick an image size of 900px the computer is still going to store that in a box supporting 1024 in memory. What I think this means is that you end up selling yourself short on something in the terms of pixel resolution.

Meaning a 900px image will take up as much memory as a 1024px image but you get more pixels to work with on the 1024px image.

I believe this is handled in the binary level where everything only works in twos.

Am I understanding this correctly?

  • Kent Trammell replied

    Am I understanding this correctly?

    I think you understand it way better than I do! Sounds right to me. Thanks for sharing, Shawn 🙇‍♂️

  • Shawn Blanch(blanchsb) replied

    @theluthier I just researched it more specfically for images. I may be wrong on the file size comment (though I still think it holds a little water when running in the active RAM of the computer as opposed to the stored file size).

    What it comes down to is: It's a 1's and 0's thing and transistors. haha. 

    Computers and Processors/Microchips/Intel boards are made up of microscopic transistors (we are getting close to atomic level of some designs I have read). Transistors are switches for electricity like a light switch in your house but without any mechanical movement. WHAAAA!?! Since a transistor only works in a 1 or 0 computers are mostly built on combinations of those 1's and 0's like in Binary Code. Binary utilizes powers of 2 and things working in powers of 2 like our image textures help speed the process along, otherwise there are going to be required conversions with take up more transistor resources as far as I understand it. More transistors means more energy/more time/more heat/more work. Older graphics cards weren't designed physically to work on images outside the powers of 2 range but newer cards are better at taking anything you give them, but I am positive it causes more 'computational' transistor work when it comes down to it.

    Transistors are crazy and how we came about them was kind of an accident while also being intentional at the same time........yawn. AT&T Bells Laboratory and youtube has an hour long video on the discovery/invention haha. https://www.youtube.com/watch?v=U4XknGqr3Bo

  • Shawn Blanch(blanchsb) replied

    It's been a while but I was answering a question for a client who stumbled upon my page.
    The question was in regards to whether or not you should use a single 4K image or two 2K images in your UV map.

    Short answer: If you double the image size(i.e. from 2K to 4K) you end up quadrupling the required resources for the increased resolution on the image. Mainly because the pixel count increases by 4 times.

    Resources Rule of thumb: file size in memory for a PNG of the image (PNG24 value) go ahead and double it for the live resources needed to handle it.


    This website explains it better than I can and they even have a fancy calculator.
    https://www.scantips.com/basics1d.html

  • spikeyxxx replied

    Also remember that the amount of images is often important (in Games at least), or to be more precise the amount of 'Tetxures Calls', so usually one 4K image is preferred to four 2K images. But it depends on the exact situation,...it's complicated :)