Hi,
Im using Crowdrender latest version, and E-cycles RTX 2.83.8 to use Optix optimizations in one machine as server, and E-cycles 2.83.8 CUDA in another machine as client...
The machines are synced.
When i start rendering with the slave only everything goes well ... But my Server machine doesnt start rendering and i find in the log Blender 2.83.8 (hash unknown built 2020-10-13 16:12:03)
What could be the problem ??
Thx
Ok, first few renders with E-cycles, honestly, I get very similar times using the 2.90 RTX version of E-cycles with a 2070 RTX Super card. I've tried some benchmarks like the Victor scene from Blender.org, but it runs an almost identical time whether running E-cycles alone, or using Crowdrender (I render just using the local machine).
I also ran some other files and got the same result. So at this point, I cannot reproduce the poor performance you are witnessing on your project.
I am using just the default settings that E-cycles has when opening these files, don't know if that is a factor yet as I haven't played around much with those settings.
Any guidance you can offer me at this stage would be helpful as you are probably more of an expert than I am right now with regards to E-cycles! Did you tweak the settings on your file?
I understand completely that you can't share your project. Are there any other file you have that show the same problem that you could share? It doesn't have to be the one you're working on, so long as the same problem happens with them, and you are happy to share it with me :)
Hi Chaoui,
Ok, we've never actually used E-cycles before. We support Blender official builds, but not branches or forks.
Its interesting you got it to work, but I think from the sounds of it we're not 100% compatible with the E-cycles branch/fork of Blender. I'm downloading an older version of it at the moment to see whats up, so I'll get back to you to let you know what I find.
I'm interested to see where the speed up comes from so I'll run some tests and compare and see what times I get.
Is there any chance you can share your scene so I can have the same data to benchmark with?
Hi, thx for the support !
Well im going to give you a lot of details concerning my setup.
Client : Running "E-cycles 2.83.3 RTX", on a RTX 2080 machine with CR 0.2.8
Slave : Running "E-cycles 2.83.8 Cuda", on a GTX 1080TI machine with CR 0.2.8
The Master Scene : Composed of linked scenes and linked assets from Plugins like Botaniq and some appended assets (materials and objects), and some Scattered vegetation from Scatter addon plugin. On my settings all my paths are absolute, not relatives.
The Linked Scenes : Use some linked materials.
Well after some researches yesterday, i opened each linked scene and i packed libraries and packed external files. Then opened the Master scene and did the same thing.
Then my two computers started to sync correctly (no more sync fail)
Settings :
Master : Optix and no CPU
Slave : Cuda and no CPU
And specifying 256 tiling size for the two (cause i dont know if I just let it 0, if CR will do this setting automatically)
Hitting render :
- The Slave start rendering, and finish the job
- The Master start rendering but stay at 0%...
-------
I supposed maybe that the Master Blender Ecycles RTX Build wasnt supported by CR for some reason.
I opened a new Blender in Master that is the same exact build as slave (E-cycles 2.83.8 Cuda)... So my two machines rendered the scenes and finished their jobs.
So I managed to make CR works on my two computers. Good ! :)
Lets talk about my thaughts, my expectations and the results.
I come from 20 years of 3dsmax and then maybe 10 years of vray dont remember exactly when vray started, but ive started using it since the first versions. I always used 3dsmax backburner and the distributed rendering functions of vray. The idea is to have the more quicker results.
I discovered Blender and bring it to my pipeline, and finally i put Blender as my first choice for rendering and for everything else and use maybe 3dsmax at only 0.001% only maybe to transfer some assets to blender.
After 2 or 3 months of using Blender i discovered E-cycles builds, that are extremely speeding renderings, and now with the latests build there is "Permanent Data" option, so the frames start to render directly after a frame is finished, everything is precalculated by the first frame, and that also speedup rendering.
For me using CR will use my own Blender rendering settings, so here it's E-cycles optimised builds in each machine and will add distributed rendering function only, in this case i will use all the power of my all machines and all the extra functions of the rendering optimisations, and CR job would manage two things, number of tiles that each machine will render (balance existing function in CR) and stitching the generated tiles from each machine.
But the CR idea is different i guess, so CR finally try to mimic a rendering engine by itself, by taking into account the most important settings known in Blender and make a rendering using the distributed rendering function.
The results :
Using E-cycles only for this scene :
Master : 20 sec per frame
Slave : 38 sec per frame
And no extra time in precalculating the scene for each frame after the first rendered frame in each machine cause of "Permanent Data option"
So in 58 sec i have 2 finished frames
Using E-cycles + CR :
Master : for 50% of one frame
2 min
Slave : for 50% of one frame 2min 40 sec
Plus extra time for taking the part from the slave and saving the file.
So at the end each frame is finished completely at nearby 5min.
--------
Im saying that, so you can try to see if there any new strategy you can develop. Maybe cooperation with Mathieu, who is making Ecycles. I dont know. But im going to Continue testing CR.
I wish you all luck and will stay tuned for all the upcoming releases.
Hi Chaoui, ok, the hash unknown looks like a blender specific log entry, our addon doesn't log anything like that.
To help, lets get some nomenclature sorted out, this helps to make sure we're speaking the same language and not getting confused over what we both mean when we say things like slave, client, node etc.
Client/Master is the machine you open Blender on, and open your scene to control the rendering from.
Slave/render node are computers where you run Blender and our addon. You connect to a render node from your client/master. You only use one client/master and connect to many render nodes/slaves.
Now, we'd need to be able to know more about whats going on to know for sure what the problem might be. Without seeing what you are seeing, I can only give some general advice on things to watch out for. But any information you can supply would help us to more quickly narrow down what the problem is :)
Gotchas - things that stop it working
Having more than one blender session running on your client/master. Try to only open Blender once on your client/master at any time. Having more than one blend file open, so two blender windows with different blend files, will cause issues.
Using different versions of Blender/Crowdrender. Use the same version of blender and crowdrender on each computer, clients and render nodes. They all need to use the same versions of the addon, and blender.
Running services on your network that use ports in the range 9000-9025, or 9669-9694. Having services on these ports other than Crowdrender can interfere. Generally V0.2.8 is a lot more robust when it comes to other services using similar ports though. Still a good idea to check if anything else is running in those port ranges.
If you are willing to provide more details, that might help us. Generally in solving a problem we need to rule out probable causes, eliminating each with an experiment until we find the true cause. This can take a bit of effort, but nearly every time we work with someone in this way, we solve the problem.
So, please provide more information if the above suggestions don't turn out to be the issue :) we're happy to keep working alongside you until the problems fixed.