Photopium opened this issue on Sep 09, 2011 ยท 44 posts
kawecki posted Fri, 09 September 2011 at 8:17 PM
In theory it would be great if you were able to put Windows and its all services in one core and leave the other cores free for your exclusive use, but you have no control on what and how Windows is doing and managing the cores.
The other big problem is even you have many cores available not everithing is a ble to be done in pararell. Some steps to be able to execute requires a result from a previous step and 100 cores will have the same result of one core.
For example, if you want to render Vicky you must first load her. You can assign a core for the rendering and another for the loading process, but the rendering core will do nothing until the loading core finsihed the Vicky loading process, then and only then can start the rendering process and and this time the loading core will do nothing because has nothing to do.
Some processes such as unbiased rendering are very suitable to be run in paralell and so more cores or computer clouds will produce a great result in rendering speed.
With unbiased renderers the rendered image is formed by the sum of randomly taken samples of the scene. One core can be taking one sample at some point and the other cores other samples at other points and all is summed over the time in a common memeory. More cores or computers you have, more samples are taken per second. The process goes forever until you stop when achieves the desired quality you wanted.
With other class of rendering, for example if you use shadow maps, you cannot start the rendering process before all the shadow maps were rendered. You can render all the shadow maps in paralell, but the rendering itself will have to wait until all shadow mpas are done.
Stupidity also evolves!