Reply To: Noob Question: How to get blender to use more of my CPU?

Forum Archive Noob Question: How to get blender to use more of my CPU? Reply To: Noob Question: How to get blender to use more of my CPU?

#62502
spikeyxxx
Participant

    This is a bit out of my league, but as far as I know, most processes in Blender (apart from rendering) are not multithreaded (although progress is being made in this regard). This means most things in Blender cannot use more than one (or two) core(s) (/CPU(‘s)).

    For instance: if you have a simple loop that goes through all the elements of an array of size 1000 and adds them up, then these calculations are all dependent on the previous result and therefor, no matter how many cores you have that can add numbers, only one can be used. To make this multithreaded, you would ‘unroll’ the loop, meaning splitting the array in 4 (or 8, or…) parts and each iteration of the loop, you would make four (8,…) additions at the same time (each in a different core): Adding element 0 to 4, 1 to 5, 2 to 6 and 3 to 7 and in the next iteration element 8 to the first result, 9 to the second, etc.

    Even something like: (a+b)+(c+d) is faster than a+b+c+d because it uses 2 add-cycles in stead of 3 (if you have more than 1 core/CPU).

    This doesn’t help you of course, but I hope it demonstrates (part of) the problem. Blender was first made to run on old hardware and now it is slowly being optimized for more modern hardware.