2
$\begingroup$

I have a (very large) number of simple scenes, containing a simple object (lego brick) with the camera positioned somewhere near it, all of which I'm trying to render using a python script.

Since the number of images is huge (in the tens of millions), rendering speed is very important to me while quality is not a big priority and the objects have smooth simple surfaces (I think that's a plus, but I'm very much a beginner in rendering and graphics).

I thought I could speed up my rendering process by using GPU, but soon realized if I use Cycles engine -even with the 1 cycle- with the gpu, it would be much much slower than just using Blenders Internal engine without GPU.

So I'm wondering if there is a nice compromise between the two were I can have the better algorithm plus using the GPU?

note: I don't know how relevant this is but I'm using the ldraw (link) library to import the lego brick objects, not sure if that restricts what I can use or changes any setting for my rendering.

(Here) is the codebase I'm using to render my scenes.

$\endgroup$

1 Answer 1

1
$\begingroup$

I thought I could speed up my rendering process by using GPU, but soon realized if I use Cycles engine -even with the 1 cycle- with the gpu, it would be much much slower than just using Blenders Internal engine without GPU.

So I'm wondering if there is a nice compromise between the two were I can have the better algorithm plus using the GPU?

This compromise between Blender Workbench and Cycles is called Eevee. It's very fast. It took me about 20 seconds to render 1000 frames in 300×300 resolution, using a single sample, of a rotating default cube. This means 10 million images would take about 55.5 hours to render. There might be some additional costs based on e.g. opening a file, importing, maybe the scene has to be rebuilt for each object, maybe this is a reason to load multiple objects at once, but only render one… Hard to say any specifics, I don't know the library mentioned… It may be worth to note, that you could have multiple instances of Blender doing the work in parallel, because chances are the average usage of either CPU, GPU, hard drive will be very low throughout the rendering process if you use just one instance of Blender.

$\endgroup$
4
  • $\begingroup$ Seems like exactly what I need. Thanks! I'll try Eevee. Just for the reference and in case it might be useful to anyone else, I'm gonna add some more context here: The library I mentioned is a small project (as far as I can tell) and I don't think it's that relevant anyways. Also I do use multi-threading to run multiple instances of blender which does indeed improve the speed. $\endgroup$ Aug 23, 2023 at 18:02
  • $\begingroup$ Just one follow up question, so there's no way to get the Blender Internal engine to work on GPU, right? $\endgroup$ Aug 23, 2023 at 18:05
  • 1
    $\begingroup$ @BahmanRouhani I don't know the answer to this question unfortunately. $\endgroup$ Aug 23, 2023 at 18:17
  • $\begingroup$ Got it. Thanks anyways. $\endgroup$ Aug 23, 2023 at 19:29

This site is temporarily in read-only mode and not accepting new answers.

Not the answer you're looking for? Browse other questions tagged .