Hi there,
I am trying to render the same scene using multiple cameras (multiple view angles, etc.) via 3dsmaxbatch.exe WITHOUT 3ds max restart (I cannot afford that).
I am using pymxs for that and I'm getting OOM errors as my RAM is being eaten alive!
How can I free used memory before each render?
This is what I already tried (DOES NOT WORK):
How can I fix RAM issue please?
P.S. I am using recommended GPU drivers (The current Recommended Windows Driver is a 566.14 Studio driver for GeForce cards)
Petr
I am trying to render the same scene using multiple cameras (multiple view angles, etc.) via 3dsmaxbatch.exe WITHOUT 3ds max restart (I cannot afford that).
I am using pymxs for that and I'm getting OOM errors as my RAM is being eaten alive!
Code:
outp_file = os.path.join(frames_dir, "render.png") bitmap = rt.render( frameRange=rt.Interval(start_frame, end_frame), outputFile=outp_file, # progressbar=False, vfb=False )
This is what I already tried (DOES NOT WORK):
Code:
# try GC twice in case either python or maxscript version works, DOES NOT WORK rt.execute('gc()') rt.gc() # saw these in docs, DOES NOT WORK rt.execute('freescenebitmaps()') rt.execute('clearUndoBuffer()') # figured it might help to release "occupied memory" as owner i.e. the plugin will be reloaded hence resource released? DOES NOT WORK rt.execute('LoadDllsFromDir ((getDir #maxroot) +"applicationplugins\\vray3dsmax2025\\plugins") "*.dll"') # HACK: Set different renderer to free memory, really stupid but in case it works? DOES NOT WORK all_renderers = rt.rendererClass.classes vray_gpu_renderer_class = [renderer for renderer in all_renderers if "V_Ray_GPU" not in str(renderer)][0] renderer = vray_gpu_renderer_class() rt.renderers.current = renderer rt.execute('freescenebitmaps()')
P.S. I am using recommended GPU drivers (The current Recommended Windows Driver is a 566.14 Studio driver for GeForce cards)
Petr
Comment