I've been working on a project for work on my local machine that eventually made it to our server (specs listed below). On my local machine and, since troubleshooting the issue, many other coworkers' local machines, Blender Renderer seems to be utilizing all CPU cores to render (as expected). However, when it's on the server, it only seems to be rendering with a single core - dinging the CPU in task manager for ~3-5%.
My coworkers and I are at a bit of a loss for what might be happening and don't really know where to go from here on troubleshooting. =\
Here are the specs for the server:
CPU: AMD Ryzen 3900x
GPU: NVidia 1070
OS: Windows Server 2016
Script: Called via cmd line arg
We're rendering via a python script wrapped inside a Renderer obj/class I made to keep settings consistent across all our scripts. I'm not sure if all of the code below applies to the renderer we're using?
for scene in self.bpy.data.scenes: scene.render.threads_mode = 'FIXED' scene.render.threads = 24 scene.render.engine = 'BLENDER_RENDER' scene.cycles.device = self.device # defaults to 'CPU' scene.render.resolution_x = 1280 scene.render.resolution_y = 720 scene.render.resolution_percentage = quality # defaults to 100 scene.render.use_raytrace = False scene.render.antialiasing_samples = '5' tile_size = 32 if self.device == 'CPU' else 512 # for 'GPU' scene.render.tile_x = tile_size scene.render.tile_y = tile_size scene.render.preview_start_resolution = tile_size scene.world.light_settings.samples = 3 scene.render.filepath = join(output_folder, output_file) scene.render.image_settings.file_format = 'FFMPEG' scene.render.ffmpeg.format = "MPEG4" scene.render.ffmpeg.codec = "H264" scene.render.ffmpeg.constant_rate_factor = 'LOW'
I have an intuition there might either be a hardware problem or Windows Server 2016 is somehow bottlenecking the application. Are there any known issues with Ryzen CPU's not utilizing all of their cores?