Forum breadcrumbs - You are here:ForumPrism: Feature RequestsRenderJob 'by frame'
Please or Register to create posts and topics.

RenderJob 'by frame'

12

Hi, would it be possible to be able to specify the 'by frame' when doing a render job ? so we only render one every X frame of the animation.

deadline submit interface have a string that can take some sort of expression for exemple : (when enabling By Frame on maya)

which will only render frame 1,3 ,5 ,7.....84

or even more specific range as well.

that would be fantastic!

Added to the feature idea list [0074].

Would it be useful for you to have it also for exports and playblasts? I guess that would be more difficult to implement than for renderings and personally I never needed that for playblasts. But maybe there are situations where that would be handy.

I can see a use for it for playblast, I'm not sure for exports, but there could be some utility for it!

speaking of export, could it be possible when exporting rsProxy to export each frame one by one rather than bulk export several frame in a single command ? exporting Xgen fur can take up to a minute per frame, and it not possible to cancel the export if the command is set to run several frame. Instead calling the command for each frame would give back the ability to cancel using escape, as well as offering a ability to export a defined set of frame.

eg :

for i in range(int(min), int(max)):

mc.rsProxy(fp="E:/ProjectCache/" + name + "/" +setName + ".####.rs",s=i, e=i,b = 1, z=True, sl=True)

Thanks !

Have you tried if this would take longer to export than executing it with only one command?

Hey, forget about the optimisation part, I realised while trying to run some speed test that it not possible to cancel the script even if we split up the export frame by frame!

 

so, just the ability to define an expression to choose which frame to render would be awesome!

https://deadline.thinkboxsoftware.com/feature-blog/2016/2/18/frame-list-formatting-options

"Would it be useful for you to have it also for exports and playblasts? I guess that would be more difficult to implement than for renderings and personally I never needed that for playblasts. But maybe there are situations where that would be handy."

@Richard: i m not sure but i guess it s useful if you can split the GPU`s and split up the frames, so every GPU can work on their own frame .., also it maybe useful to make some kind of "Render - playblast " . So showing the animation with rendered images (to get the look) but without the need of rendering every frame.

@SciMunk Why is this not possible? I haven't tried it, but I guess I could check in the for loop if the escape key is pressed and if it is then it doesn't execute the export command for the next frame. I also added the Deadline link to the description in the feature idea list

@mooopstar Your first question is regarded to renderings and not playblasts right? Would there be any performance improvement by splitting the GPU power between multiple frames? For me it sounds like you could render two frames simultaneous then with two GPUs, but each frame takes the double amount of time, so no benefit in the end. What exactly do you mean with "Render -Playblast". In Maya you can capture the viewport (playblast) or use a renderer from the render settings dialog to generate renders. Both generate the images frame by frame. Maybe you mean something like a high quality playblast with lights and shadows?

I ve just written a 10 min comment and accidentaly deleted it ...so now you get the short version 🙂  .

1.Yes, there is a performance improvement if you use 1 GPU for a different frame ( if i understand it right).  I found the information here: https://docs.google.com/document/d/1rP5nKyPQbPm-5tLvdeLgCt93rJGh4VeXyhzsqHR1xrI/edit ( it s about using Redshift with multiple GPU`s).  To be honest, i m not really into tech stuff, so i don t understand half of what they re talking about, but one sentence convinced me 🙂

"To recap: To get best multi-GPU scaling performance, render multiple frames at once"

2. Yes, i was talking about Renders all the time. Forget the strange term "Render Playblast". It doesn t even fit to what i was trying to say. I just meant i like to do test renders with small resolution and the possibility  of skipping every second frame, would come in handy. What i didn t test before i wrote this comment: it s actually working in Houdini. If i just enter 2 or 3 in Render Increment in the ROP Node it will skip every 2nd or third frame....Prism recognizes it without any problem. So for Houdini Users this feature actually is already working...

 

listening to the escape key ourselve may do it yes.

Concering splitting GPU, this feature is a top one for me as well, the reason is very simple: on redshift, gpu don't scale linearly, for each gpu rendering the same frame, the performance decrease

1 gpu = 1.0 perf

2gpu = 1.9 perf

3gpu = 2.5 perf

there another thing to consider : rendering multiple frame simulatenously also mean opening and simulating 3 scene in parallel on the cpu before the rendering start. (most of my scene take up to 2-3 minute of cpu before start, so that basically 6 minute saved per 3 frame when rendering in parallel)

so basically, render 1x3 frame on 1x3 gpu = faster than rendering 1 frame on 3 gpu.

I actually don't use prism render job yet because of this missing feature.

Edit : was beaten by mooopstar , took too long to write my comment while playing overwatch >.<

Ok I see. Was this topic related to renderjob submissions or to local Prism renderings in the current Maya instance? I think it's not possible to have two renderings simultaneously in the active Maya instance, so in this case I would need to start batch processes in the background.

In Houdini most settings of the render node like frame increments are preserved. I could do the same for Maya too, but the advanced frame formatting string would be way more powerfull (but also more complex to implement).

12