"F9 render on NRC renderfarm" script?

vncnt

Well-known member
Please understand that the code for UI/mouse handling is a direct copy from another (a more advanced) plugin
because pan and zoom is not natively supported in Layout LScript.

The fact you can not PAN or ZOOM while a Frame Range is selected in its own interface is because mouse activity
is reserved for manipulations of the Frame Range and underlaying keys in the envelopes of items that belong
to that Frame Range (as part of a Marker or Region). In another plugin.
For now, consider some of the missing features as reserved for later.
I'm glad most functions seem to work at all, and without crashing.

Being able to offer these UI/Mouse features in LScript has been a large step - I have not seen it earlier in LScript products.
It's not exactly a standard feature in the LightWave API.

For now, my focus is entirely on the main reasons I wrote this plugin: a simple fast lane to NRC.
I have to make sharp decisions about how I spend my free time.

Don't be fooled by the term simple. It's all still a lot of work, and it requires a lot of research and reverse-engineering.
The simpler it all looks to the user, the more difficult it is for the developer.
 
Last edited:

vncnt

Well-known member
Just to make sure the plugin is working correctly, I tested buttons 1 .. 5 and checked the Queue- and Scenes directories.
Note that button 6 (below button 5) isn't operational yet.
So far, these five functions seem to work fine.

The Build Fusion 9 Comp need some TLC, to make it compatible with all options.
Just like button 6 and some other open ends, it's not complicated, but it needs to be done.


I think it is possible to add a button for Fusion to start render output at Frame 0 or use the actual Frame Number.
That would make sense, definitely for single frame output.
The number of digits in image sequence filenames also needs to be fixed.

As always, any feedback will be appreciated.

files.jpg
 
Last edited:

slacer

Member
Just to make sure the plugin is working correctly, I tested buttons 1 .. 5 and checked the Queue- and Scenes directories.
Note that button 6 (below button 5) isn't operational yet.
So far, these five functions seem to work fine.

The Build Fusion 9 Comp need some TLC, to make it compatible with all options.
Just like button 6 and some other open ends, it's not complicated, but it needs to be done.


I think it is possible to add a button for Fusion to start render output at Frame 0 or use the actual Frame Number.
That would make sense, definitely for single frame output.
The number of digits in image sequence filenames also needs to be fixed.

As always, any feedback will be appreciated.

OK, now I understand the UI and its connection to Layout better.
I selected several ranges and send them via Send Full Frame Selection to the NRC. The rendering starts, but there is still a little detail in the scene name.
It reflects my selection in your plugin but remembers the stepsize from Layout. This seems to only affect the scene name, because the NRC Step column has a 1 in it.

Keep up the good work! It is a great tool. :D
 

Attachments

  • Selections.PNG
    Selections.PNG
    44.3 KB · Views: 29

vncnt

Well-known member
OK, now I understand the UI and its connection to Layout better.
I selected several ranges and send them via Send Full Frame Selection to the NRC. The rendering starts, but there is still a little detail in the scene name.
It reflects my selection in your plugin but remembers the stepsize from Layout. This seems to only affect the scene name, because the NRC Step column has a 1 in it.

Keep up the good work! It is a great tool. :D
That isn't logical. Even for a scene name.
In your version, the FrameStep is set to 1 by default.
I just removed that command, so in the next version it uses the (unchanged) same value (in this case 3).

Working on the Fusion issues right now.
Created 3 buttons: one for Frame, one for Sequence (Render Range), one for Selection.
Adding a directory and sequence search to detect the number of digits, and the start frame of the input nodes.

Don´t worry: it will be a great tool to use.
 

vncnt

Well-known member
Making progress.

In the middle: added presets for Proxy frame sizes in 1:1 and 2:1 aspect, including Fusion Comp generator buttons to resize output to your project frame size.
The optional button Simple quickly disables Shadow, Reflection, Refraction, DOF, Motionblur, and reverts to basic Adaptive Sampling.

On the left side: five slots for different render Profiles. Measurements are stored at the end of a F9 render and at the end of each rendered frame during F10 rendering.
This historical data is saved to (and loaded from) the LWS scene file. If the Description field contains the default (unused), the first sample that is added also dumps the status of a limited set of render parameters, still reliably available for LScript in LW2020, but you are free to overwrite it with your own description. The current profile # is highlighted, the other bars are dimmed. The bars are displaying absolute values, the line graph is relative. The CLR button can clear the measured values of the current profile # in the selected frame range, or if nothing is selected: all measurements in the current profile.

To be implemented:
  • mixed resolution segments
  • optional Fusion Saver output to AVI and MOV (currently the Saver file type is based on the Loader file type)
  • F13 emergency rendering, for missing- or corrupted output files

  • glitch at the start of PAN (nmb-drag) and ZOOM (rmb-drag)
  • implement Render Speed statistics
  • import render time results from Quality Control (render time based file statistics)
  • Quality Control needs a switch to select a path to different output files, currently hard coded to the segment system
  • estimated render time profile calculation (interpolated) + estimated total render time, based on F9- and F10 test renders.
  • render time estimation in project resolution, based on proxy frame size settings
  • buttons for F9 and F10 test rendering via this plugin (to force measurement), with or without image preview
  • implement Render Profile sync

progress.jpg
 
Last edited:

vncnt

Well-known member
Still working on the details and some other ideas but here is a preview of version July 9.

Left image: Estimated Render Time, based on some 768x432px F9 samples.
Right image: Measured Render Time, based on 1920x1080px NRC files (single render node).

If I didn't extend the render range in the 768x432px samples, the estimated RT at the end (the small dark magenta dots), about 50.6 minutes, wouldn't have been included in the estimated RT for the 1920x1080px output images.
If I compensate those +/- 23 minutes, the calculated estimated RT would have been +/- 27,6 minutes.
That is very close to the actual render time, measured from the hi-res output sequence.

EstimatedRT.jpg
MeasuredRT_HiRes.jpg


The small dark magenta dots have been interpolated (and extrapolated at the beginning + at the end) between actual F9 render time samples. As you can see, the shape of both estimated and measured rendertime envelopes are very similar.
It would be more precise if I would have added more samples - or F10 rendered a low-res preview.

The trick is to use the same render settings that influence render time: shadow, reflection, refraction, motionblur/particleblur, adaptive sampling, DOF, etc.
Then, each RT sample and each interpolated RT value has been added together and multiplied by the project factor.
The project factor is the ratio between the final frame area (1920 x 1080 = 2.073.600) and proxy frame area (768 x 432 = 331.776) or 2.073.600 / 331.776 = 6.25

This way, it seems that the lower resolution F9 render (or any F10 render) is able to predict the render time of the higher resolution NRC render with a single render node. Each multi render node environment is different so you can even import that speed result into a render profile but you might experience more RT spikes in the graph.

The NRC file based RT imported into Render Profile #4, now actually showing the results of the last few frames:

ImportedRT.jpg


Oh, another implemented feature: select a frame range and the estimated RT and estimated project RT (the hi-res version) are calculated for the selected frames.

All samples are stored in the LWS scene file.
You may clear a single sample (current frame) or a set of samples (selected frame range).
You can also overwrite existing samples.

Interesting, isn't it?
 
Last edited:

vncnt

Well-known member
Legato Send To NRC version 10-JUL-2021 has arrived.
I'll try to do a video tomorrow.

Let me know if there are issues.

[EDIT: update 11-JUL-2021+]
 

Attachments

  • Legato_SendToNRC_11-JUL-2021+.zip
    224.6 KB · Views: 18
Last edited:

vncnt

Well-known member
Update 11-JUL-2021 of Legato Send To NRC has replaced the 10-JUL-2021 ZIP in message #48 of this thread.
  • NEW: respect Proxy settings during F9/F10/F11 rendering
  • NEW: Estimated Project RT suppressed when Average RT=1 s/frame: [average RT below 1 s / estimation unrealistic]

  • FIX: Estimated RT label intermittently incomplete
  • FIX: 1 s samples -> drawing outside graph area
  • FIX: no visual extrapolation on left side of a single frame render -> fixed the estimated project RT calculation -> still no dots on left side
ADDITIONAL (+) UPDATE:
  • [NEW] respect project frame dimensions and project aspect ratio in Fusion comp file
  • [FIX] division by zero in file statistics (Quality Control mode)
 
Last edited:

slacer

Member
The plugin is great for my current workflow:
  1. Select frames to focus on
  2. Tweak render settings like motion blur
  3. Save Scene Increment
  4. Render Full Frame Selection
Repeat steps 2-4 until you are happy with some results.
Go back to the renders and compare them visually - each render folder has the name for the scene increment with its selected settings.
Find the best result and start from that scene...
 
Last edited:
Top Bottom