INICIO

Guías de flujo de trabajo y aplicaciones

3ds Max Corona
3ds Max Corona
3ds Max V-Ray
3ds Max V-Ray
Blender
Blender flujo de trabajo completo
Blender
Blender flujo de trabajo completo
Lightwave 3D
Lightwave 3D
Maya Arnold
Maya Arnold
Maya Redshift
Maya Redshift
Maya V-Ray
Maya V-Ray

Artículos

Preguntas Frecuentes

Cómo utilizar y optimizar la ejecución por fotograma (FPE)

1. Definición de FPE

FPE o Frames Per Execution es un ajuste que está disponible al renderizar animaciones. Por defecto, el valor de FPE se establece en 1 para los proyectos renderizados en la CPU. Esto significa que cada fotograma se renderizará como una nueva ejecución (una tarea separada), en otras palabras, la escena se cargará en cada nodo cada vez que se inicie un nuevo fotograma. En el caso de los proyectos renderizados en la GPU, el valor de FPE está establecido por defecto en 5. Esto significa que se renderizarán 5 fotogramas seguidos en un nodo.

El ajuste FPE (Frames Per Execution) te permite renderizar varios fotogramas (el valor que pongas) seguidos sin necesidad de recargar la escena en un nodo de renderizado, y potencialmente puede mejorar el rendimiento/eficiencia del renderizado. Si tu escena tiene un tiempo de carga largo pero un tiempo de renderizado corto, puedes poner FPE a un valor más alto (por ejemplo 4). Si el tiempo de carga es corto pero el tiempo de renderizado es largo, deja el valor por defecto o ponlo a 1.

NOTA: Los fotogramas por ejecución también pueden ser conocidos por muchos usuarios de la granja de renderizado (render farm) como fotogramas por renderizado, fotogramas por tarea, tamaño del trozo de tarea (utilizado por Deadline).

Como puede ver, esta configuración puede tener diferentes nombres en varios entornos, sin embargo, independientemente de la terminología, funciona de la misma manera.

2. Dónde se puede activar el FPE (en GarageFarm)

Hay dos lugares donde se puede establecer el valor de Fotogramas por Ejecución.

El primer lugar donde puedes encontrarlo es en el tablero web (Web Manager). Lo verás en la ventana de envío que aparece en el último paso de añadir una escena a la cola de la granja. En esta ventana, encontrarás una serie de ajustes - algunos pueden diferir dependiendo de la aplicación 3D utilizada pero otros son comunes incluyendo el Frame Per Execution.

Puede encontrar más información sobre el envío de un trabajo y todos los ajustes pertinentes en nuestras guías paso a paso aquí: https://garagefarm.net/es/software-guides.

How to use and optimize Frame Per Execution (FPE)
El ajuste "Cuadro por ejecución" que se encuentra en la ventana de envío de trabajos en el Web Manager

El segundo lugar en el que puedes ajustar los cuadros por ejecución es la aplicación renderBeamer.

En primer lugar, tendrá que activar la opción de envío automático en la configuración de renderBeamer (icono de rueda dentada). Luego, seleccionando editar, podrá acceder a la configuración avanzada del envío automático.

Este es un panel en el que puedes crear y gestionar plantillas de envío automático para cualquier aplicación 3D soportada. Entre los diversos ajustes disponibles, puedes encontrar un campo llamado FPE - aquí puedes establecer un valor personalizado de Fotogramas por Ejecución. Recuerda que este valor se aplicará a todas las escenas que envíes cuando la opción de envío automático esté activada.

Tenga en cuenta que el envío automático es una configuración avanzada que le permite simplificar y acelerar el flujo de trabajo reduciendo el número de pasos que debe realizar para enviar un trabajo a la renderización. Por lo tanto, recomendamos utilizar el envío automático sólo después de haberse familiarizado con el flujo de trabajo estándar. Mira este video para aprender cómo funciona: Envío automático de trabajos de renderización a una granja de renderización en la nube.

How to use and optimize Frame Per Execution (FPE)
Ajuste de "Fotogramas por ejecución" situado en la configuración avanzada de renderBeamer

Una explicación detallada y el mecanismo de todos los ajustes en la aplicación renderBeamer se puede encontrar aquí: (la guía estará disponible pronto).

3. Cuándo utilizar el FPE

A continuación puede encontrar algunos ejemplos de los distintos usos de la configuración de fotogramas por ejecuciones. Cada uno de los ejemplos proporcionados contiene un escenario diferente que ha sido descrito en detalle junto con el cálculo del tiempo total de renderizado, los tiempos individuales de renderizado y una tabla comparativa con estimaciones de coste y tiempo.

Ejemplo #1 - Animación de 100 fotogramas

Detalles del proyecto:

  • tiempo medio de carga/procesamiento de la escena: 5 minutos
  • tiempo medio de renderización de un fotograma: 2 minutos
  • número de fotogramas a renderizar en total: 100 fotogramas

Primer escenario - configuración por defecto FPE = 1

How to use and optimize Frame Per Execution (FPE)

Tiempo total de renderizado de 1 fotograma en 1 nodo: 7 minutos (5m - tiempo de carga, 2m - tiempo de renderizado).
Tiempo total de renderizado de 100 fotogramas: 700 minutos (7m x 100 fotogramas).

El primer escenario en este ejemplo es cuando FPE se establece en 1. En este caso, para renderizar un fotograma, un nodo necesitará SIEMPRE cargar una escena antes de comenzar el proceso de renderizado. Esto significa que si el tiempo de preprocesamiento/carga es de 5 minutos y el tiempo de renderizado real es de 2 minutos, entonces el proceso completo tarda 7 minutos. Lo mismo se aplica a todos los fotogramas de la animación dada - cada fotograma se renderizará por separado en un nodo distinto.

Segundo escenario - configuración personalizada FPE = 10

How to use and optimize Frame Per Execution (FPE)

Tiempo total de renderizado de 1 lote en 1 nodo: 25 minutos (5m - tiempo de carga/preprocesamiento, 10 x 2m = 20m - tiempo de renderizado).
Tiempo total de renderizado de 10 lotes en 10 nodos: 250 minutos (25m x 10 lotes)

Si el FPE se establece en 10, significa que se renderizarán 10 fotogramas seguidos en una sola ejecución en cada nodo. Así, en este ejemplo, puedes ver que la escena se cargará en un nodo sólo una vez (5 minutos) y se renderizarán 10 fotogramas en una sola carga (cada fotograma se renderizará 2 minutos, por lo que se tardará 20 minutos para 10 fotogramas). El tiempo total para renderizar un lote de 10 fotogramas tomará 25 minutos en un nodo.

La imagen de arriba muestra cómo los fotogramas se dividirán en lotes y se renderizarán en cada nodo como tareas individuales. Como se trata de una animación de 100 fotogramas y el FPE está establecido en 10, un proyecto con un rango de fotogramas de 1 a 100 se renderizará en 10 lotes separados (cada lote contiene 10 fotogramas).

Comparación de costes y tiempo de renderizado para FPE = 1 y FPE = 10

FPE 1

FPE 10

Render time of one task/execution

7 minutes

25 minutes

Render time on 10 nodes

70 minutes

25 minutes

Tiempo total de renderizado 100 fotogramas

700 minutos

(11 horas 40 minutos)

250 minutos

(4 horas 10 minutos)

Costo

Baja prioridad

33.40

8.35

Prioridad media

66.60

16.65

Alta prioridad

133.20

33.30

La ejecución del proyecto con FPE = 10 mejoró el rendimiento y dio lugar a un menor coste

En la tabla, encontrará cálculos detallados basados en las suposiciones que hicimos sobre el proyecto (tiempo de preprocesamiento/carga + tiempo de renderización) y utilizando tanto la configuración FPE por defecto como la personalizada.

El primer supuesto muestra el coste y los tiempos de renderizado con FPE = 1. El tiempo total de renderizado para 100 fotogramas, en este caso, será de 700 minutos, porque cada fotograma se renderizará como una tarea independiente en un nodo distinto. Establecer el FPE = 10 nos permitió optimizar el tiempo total de renderizado de la escena hasta 250 minutos porque cada lote de 10 fotogramas cargó la escena sólo una vez en un nodo determinado.

Como el coste se calcula en función de la prioridad utilizada y de todo el proceso de renderizado (tiempo de preprocesamiento/carga + tiempo de renderizado), en este caso, cuando el tiempo de carga es mucho mayor que el de renderizado, la diferencia en el coste final es significativa.

Hardware utilizado:En este ejemplo, el coste y el precio se han basado en los cálculos realizados con el nodo CPU: 2 sockets 121 GB de RAM (44 núcleos). Puedes encontrar más información sobre las especificaciones de nuestros nodos aquí..

Ejemplo #2 - Animación de 250 cuadros

Detalles del proyecto:

  • tiempo medio de carga/procesamiento de la escena: 10 minutos
  • tiempo medio de renderización de un fotograma: 40 minutos
  • tiempo medio de renderización de un fotograma: 250 cuadros

Primer escenario - configuración por defecto FPE = 1

How to use and optimize Frame Per Execution (FPE)

Tiempo total de renderizado de 1 cuadro en 1 nodo: 50 minutos (10m - tiempo de carga, 40m - tiempo de renderizado).
Tiempo total de renderizado de 250 cuadros: 12,500 minutos (50m x 2500 cuadros).

Segundo escenario - configuración por defecto FPE = 5

How to use and optimize Frame Per Execution (FPE)

Tiempo total de renderizado de 1 lote en 1 nodo: 210 minutos (10m - tiempo de carga/preprocesamiento, 5 x 40m = 200m - tiempo de renderizado).
Tiempo total de renderizado de 50 lotes en 50 nodos: 10.500 minutos (210m x 50 lotes)

Comparación de costes y tiempos de renderizado para FPE = 1 y FPE = 5

FPE 1

FPE 5

Tiempo de renderización de una ejecución

50 minutos

210 minutos

Tiempo de renderización en 10 nodos

1250 minutos

(20 horas 50 minutos)

1050 minutos

(17 horas 30 minutos)

Tiempo total de renderización

12500 minutos

(208 horas 20 minutos)

10500 minutos

(175 horas)

Costo

Baja prioridad

1041.67

875.00

Prioridad media

1562.50

1312.50

Alta prioridad

2083.33

1750.00

Renderizar el proyecto con FPE = 5 mejoró tanto el coste final como el tiempo de renderizado en un nodo

En la tabla, encontrará cálculos detallados basados en las suposiciones que hicimos sobre el proyecto (tiempo de preprocesamiento/carga + tiempo de renderización) y utilizando tanto la configuración FPE por defecto como la personalizada.

El primer supuesto muestra el coste y los tiempos de renderizado con FPE = 1. El tiempo total de renderizado para 250 fotogramas, en este caso, será de 12.500 minutos, porque cada fotograma se renderizará como una tarea independiente en un nodo distinto. Establecer el FPE = 5 nos permitió optimizar el tiempo total de renderizado de la escena hasta 10.500 minutos porque cada lote de 5 fotogramas cargó la escena sólo una vez en un nodo determinado.

Como el coste se calcula en función de la prioridad utilizada y de todo el proceso de renderizado (tiempo de preprocesamiento/carga + tiempo de renderizado), en este caso, cuando el tiempo de carga es mucho mayor que el de renderizado, la diferencia en el coste final es significativa.

Hardware utilizado: En este ejemplo, el coste y el precio se han basado en los cálculos realizados con el nodo GPU: 8x Tesla P100 16GB vRAM. Puedes encontrar más información sobre las especificaciones de nuestros nodos aquí.

NOTA: Tenga en cuenta que los ejemplos proporcionados se han preparado para explicar la mecánica de la función FPE. Esos valores no son constantes y pueden variar de un proyecto a otro. Cada escena tiene sus propias propiedades y ajustes que afectan al tiempo de procesamiento y carga, y por ello, las estimaciones deben calcularse para cada caso individualmente.

4. Ventajas y desventajas del uso de FPE

  • La principal ventaja de utilizar FPE es la optimización de costes para las escenas que tienen un largo tiempo de preparación/carga. Aumentando el valor de FPE, podemos renderizar un número específico de fotogramas seguidos en un solo proceso de carga de la escena (una ejecución).
  • Otra ventaja es que puedes mantener los nodos renderizando sin salirse de la cola. El uso de FPE le permitirá mantener los nodos renderizando un lote específico de fotogramas. Una vez adquiridos los nodos, puede mantenerlos para renderizar más fotogramas que los establecidos por defecto en 1 a pesar de la larga cola de la granja o utilizando una prioridad más baja. Tenga en cuenta que este enfoque es ineficaz cuando sus fotogramas se renderizan durante mucho tiempo porque no utilizará todos los nodos disponibles.
  • La mayor desventaja puede ser el mayor tiempo de espera para la finalización de todos los fotogramas de un lote. Esto afecta a los casos en los que el tiempo de renderizado es muy largo (varias docenas o más minutos) y utilizamos el valor de FPE demasiado alto. En este caso, la optimización del coste no será proporcional al tiempo total de espera para la finalización de la salida.
  • Utilizar un valor demasiado alto de FPE puede hacer que el software de renderizado se bloquee. No es una situación común, pero puede darse el caso de que una aplicación 3D requiera un reinicio después de renderizar un número elevado de fotogramas. Así que por esa razón, nuestro sistema también tiene límites superiores para FPE para reducir el riesgo de usar valores demasiado grandes.
  • En casos extremos, que ocurren muy raramente, el uso del valor FPE personalizado puede afectar a los resultados del renderizado en escenas con animaciones rotas.

5. Calcular y estimar el coste utilizando el FPE

Hemos diseñado nuestra calculadora de costes para que puedas simular varios escenarios de renderización de una escena con diferentes ajustes de FPE y tiempo de carga.

A continuación encontrará información sobre dónde puede localizar estas opciones en nuestra calculadora.

How to use and optimize Frame Per Execution (FPE)
Ajuste de "fotogramas por ejecución" y "tiempo de carga" en la calculadora de costes

Enlace a nuestra calculadora: https://garagefarm.net/es/cost-calculator

NOTA: La calculadora compara los datos de tu ordenador con los nodos de GarageFarm. En función de los resultados, calcula el tiempo que tardaría un proyecto en renderizarse y cuánto costaría.

Tenga en cuenta que estos cálculos sólo se basan en los datos que ha proporcionado, por lo que los resultados son sólo estimaciones. Para obtener cálculos más precisos, le animamos a realizar la prueba directamente en nuestra granja.


Cómo utilizar y optimizar la ejecución por fotograma (FPE)
live chat