Here’s a thought… could it be made to render some parts/tiles on CPU and others on GPU & then combine? Since manually is possible, am wondering if it can be ‘automated’?
am intersted in using most of what is available in the machine
an advantage - hybrid rendering for large size stills (animations by frames), efficiency, economy, time saved, evolution…
am no coder, yet my body & mind give me no rest
if it’s not hard & you may know of solution,
anyway you decide, i do appreciate your sharing and caring
Sorry, I don’t understand. To write some code, I need to represent the idea. If, I only can suggest, you mean to render one partition on gpu and another on cpu simultaneously? I doubt that Blender can do this ( You need to have two or more graphic cards in your computer to do this.
Not really, as am doing it already. I just make two iterations of same file for rendering, one for CPU, another for GPU… yes, response is somewhat slower but having it run while doing nothing else on the machine is a no-brainer
So i thought if image is split to borders/tiles, part of the image can be run on CPU and other part on GPU.
Also have done it in such a way in the old days when RAM was scarce (before the 64bit era).
I get you… so here’s a quick sketch of the concept:
Is it understandable or is a thorough breakdown/deconstruction needed?
BTW, this is the way i do it manually.
PS
I hope it goes without saying, that i create files based on part/tile numbering. And have all images saved in same folder, also numbered - same as files are.
I understand the whole idea. But I don’t know event how to realize it manually. How do you make it works manually? What steps need to do, to make blender render two parts of the image one - on cpu and another - on gpu simultaneously?
I’m pretty sure that it would not be possible to achieve this just through an addon in a single instance of Blender. I think that currently the only possible way is to separate the tasks (or group of frames) to work in two instances of Blender at the same time (one for GPU and other for CPU).
The tricky thing about this is to calculate the optimal amount of frames for each Blender instance (CPU and GPU) so that the two instances of Blender end relatively at the same time.
Yes, I use Render Border addon for the splits, then save files and after run two blender files along - one on CPU other on GPU (tiles get automatically set with help of Auto Tile Size addon).
So it would need to be scripted outside of blender? Sort of batch process? Or is it impossible?
I think it may be something like a batch file. Or multithread Blender runs. I think render farms works on that principles. At my current level of blender knowledge, it’s a field for long research for me. My level is not so high (
Maybe add-on v 0.0.2 update (next post) with adding partitions range helps to you. You can start two Blender, set different partitions ranges in every of it and render simultaneously. But the final whole image compilation needs to be made by hand that case.
One way to use:
For example - You have a hi-rez big beautiful scene with millions of triangles and thousands of samples to render it without noise. If you start standard render, it takes, for example, 20 hours. But your work-day is only, for example, 8 hours and you must power off your computer after that time. So you can’t render your image because after first 8 hours you need to interrupt render process and loose all the progress of that day (next day your start render, and it starts from the beginning).
So, you can use this addon. You set partitions cut by X and Y, for example, to 3. Now you have 9 partitions. Start the render. After the first partition finished (for example it takes 2,5 hours) result saves to file. After 5 hours (it fits in your work-time) and 2 partitions rendered you can interrupt render and power-off your computer. Next day, you only press “start/continue render” button and render start from the partition number 3. After another 5 hours and 3 and 4 partitions rendered you can power-off computer again.
As a result - after 5 days all partitions will be rendered and now they automatically combine in the whole image in compositing. Your image is ready.
Another way to use:
Users asked me to add range limitation to partitions render.
So, for example, you have 2 computers. You can organize a render farm, but not to do that, you can start PartitonRender on one computer and set partitions from 1 to 6 in range. And simultaneously run the render on the second computer with partitions range from 7 to 9. Two computers render your scene simultaneously reducing the whole render time. That way after render finish, you need to combine result image from partitions rendered on the first and the second computers manually.
My add-on is simple, do you really need the true real tutorial?
Love the script, simple way to organize network rendering of animation is to set placeholders and no overwrite in files output.
Each slave in Farm is looking on disk space if there is file for each frame.
We all know that trick.
I think that if that script can save each tile into separate file with black outline than we an have automated distributed rendering for cycles. Which would be awesome !!!
(render each tile with placeholder- like animation and no overwrite
assuming that setting distribued render this way- would be 1 click
i dont even need to have auto merge- since merging this files would be faster then setting one frame to render on 24pc right now.)
Can you understand my idea from this description or should i make it more detailed.
And then is it possible to do?