Predecir el comportamiento de render Maxwell

Foro general de MaxwellRender para todos los sistemas operativos. Plantea sugerencias/dudas o pon a disposición de los usuarios tus experiencias con MaxwellRender.
Responder [phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable
Avatar de Usuario
zael
Timido
Timido
Mensajes:12
Registrado:Miércoles 8 Febrero 2006 11:00 PM
Ubicación:Argentina
Contactar:
Predecir el comportamiento de render Maxwell

Mensaje por zael » Viernes 12 Mayo 2006 2:04 AM

Ayer tuve problemas para publicar este tema en el foro. Pudimos hacerlo en el de maxwell pero tambien queria compartir esto con ustedes asi que le copio lo que publicamos alli.

-------------------------------------------------------------------------------------------------------------------------

Hola a todos,

Hace ya un tiempo, con Ernesto (compañero mío de trabajo) pensamos que bueno seria saber si pudiéramos predecir el comportamiento del motor de render.
Este problema se nos planteaba cuando tratábamos de usar el maxwell para trabajos cotidianos.
Muchas veces el tiempo que pensábamos necesario terminaba siendo inferior al que realmente necesitaríamos, o la resolución no llegaba a ser conveniente.
Luego de muchos intentos y muchas otras pruebas llegamos a producir esta tabla que resume mucha de la experiencia que fuimos adquiriendo. Quien quiera detenerse más en su observación no tardará en evidenciar los límites operativos actuales del producto.
Empleándola de manera correcta puede predecirse el comportamiento (pasos, tiempo y resolución) del motor y ajustar así los tiempos de acuerdo a las necesidades de los clientes.

Aclaración: No contamos con ningún dato de NL para construir nuestra regla de cálculo. Fue ajustada en base a nuestras continuas pruebas. Pero creemos que es lo suficientemente precisa y esperamos que pueda serles de gran ayuda.

Dada a la naturaleza tramposa del cálculo (nos referimos al hecho de subir un nivel de sampleado en MX significa duplicar el tiempo empleado hasta el momento) es sumamente difícil predecir el tiempo del render. El tamaño de la escena también influye en el tiempo de renderizado y el valor del benchmark puede llegar a hacer que su render sea prácticamente imposible. Cabe aclarar que los valores del benchmark no son constantes y pueden variar para otra cámara aun dentro de la misma escena.
En nuestro trabajo es imprescindible poder predecir el comportamiento del render así antes de realizarse pude llegar a saber:

-cuanto tiempo va a llevar?
-cual será la resolución a la cual podrá arribar en un tiempo razonable?
-Cuanto mejoraré el cálculo si mi benchmark hubiese sido mejor? (aumentar la capacidad de procesamiento renderizando con más maquinas).
-Verificar que el nivel de sampleado sea posible en base al benchmark. (hemos observado escenas en las no podríamos llegar con el comportamiento actual del motor).

Pasos:

1-Determinación del benchmark: Una vez elegido el punto de vista y la proporción de la imagen a renderizar debe realizar un render de prueba para determinar el Benchmark. Para poder realizar esta prueba es muy importante mantener la proporción pero reducir el tamaño de render muchísimo. (ejemplo, imagen final=1000x1000 Px => prueba 100x100 PX). No importa la calidad de la imagen, lo que es si importante es que esta prueba se realice hasta llegar al un nivel de sampleado=10. A una resolución baja esto la hace en muy poco tiempo. Llegado al SL=10 Anotar el valor de benchmark que arroja el MX.


Descargar la Tabla: http://www.zalm.com.ar/mxcal.pdf

2-Datos necesarios para entrar a tabla: Para entrar en la tabla es necesario saber

a. SL
b. RESOLUCION DEL RENDER
c. VALOR DEL BENCHMARK
d. TIEMPO

3- MxCal: Marcar a, b e identificar c y d en el grafico. Ahora si proyecta ese punto siguiendo las líneas inclinadas hasta cortar la línea de tiempo ahí encontrará el tiempo aproximado de render para los valores elegidos.

Ejemplo:

SL=12
Resolución 2.3 MP (mega píxel)
Benchmark= 30
Tiempo= 5.5hs

A partir de ahora es cuando la tabla empieza a arrojar datos interesantes.

- Ejemplo 1a “más SL”:

SL=16

Si proyectamos el SL=16 sobre la misma curva de resolución (2.3MP) verán que si proyectamos esa intersección sobre la misma línea de benchmark=30, el tiempo se incrementa notablemente = 27 hs.

- Ejemplo 1b “aun más SL”:

SL=17 unas aproximadas 40hs

Sorprendente como los buenos resultados se hacen cada vez más lejanos.

La pregunta lógica sería, ¿Qué puedo hacer para realizar esto en el tiempo que yo creo lógico 12hs (una noche de render)?

Aumentar el benchmark, mas fuerza bruta te falta. Una opción es triplicar tu capacidad de procesamiento. Triplicar tu benchmark ( o sea B=90) permitiría realizar esta misma imagen en unas 13 hs y unos minutos.
Ahora si bien este considerable esfuerzo de procesado te daría una imagen con un sampleado de 17, la resolución no es muy buena aun. Veras que si a mismo sampleado pretendo cambiar de curva de resolución para llegar a unos 4MP veras que nos vamos de la tabla y podrás imaginarte el incremento que para este valor de benchmark obtendríamos.

Ayudas para usar la tabla:

-Las curvas de resolución son expresadas en mega píxeles para desvincularlas de las distintas proporciones que pueden adoptarse. Ten en cuanta que duplicar los MP no es lo mismo que duplicar los dos lados de la imagen.

-Si necesitas menos tiempo:

O aumentas el poder de calculo (render en red).
O reduces la resolución de la imagen. Las curvas hacia arriba bajan la resolución. Las curvas hacia abajo aumentan la resolución.

Conclusiones:
El valor del benchmark es muy relativo. Llegamos a encontrar escenas de iluminación intrincada en donde el benchmark nos dio 9. Estas escenas poco iluminadas necesitan más sampleado para reducir el ruido unos 18 como mínimo a una resolución 2.3MP con este benchmark y a mano alzada ya que se va de tabla daría unas 200 horas, o sea unos 8 días. Usando 8 máquinas 24hs. Amortizar estas imágenes con estos equipos seria algo aun mas complicado que esta tabla.
Hasta lo que comprobamos la tabla esta funcionando.
Hay escenas que dan altos niveles de benchmark y con ellas se pueden hacer renders en tiempos aceptables, resoluciones medianas ayudan también a bajar los tiempos.
El valor de la tabla radica en que con esta simple prueba inicial se pude saber cual el límite al que puedes llegar con tu hardware, con una resolución determinada en un tiempo determinado y a una calidad determinada.
Interpretar esta imagen les brindará información crucial al momento de predecir el resultado.
Espero que les sirva tanto como a nosotros.
Un saludo.

Aca les dejo un ejemplo de compleja solucion:

http://www.zalm.com.ar/mxcalc_ejem.pdf

Francisco Di Prospero / Ernesto Lacalle

mane162
Enganchao
Enganchao
Mensajes:401
Registrado:Martes 3 Enero 2006 11:00 PM
Ubicación:España
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable

Mensaje por mane162 » Viernes 12 Mayo 2006 3:25 AM

Como ya dije en aquella ocasión, muchísimas gracias por el esfuerzo zael :wink:

mane162

jespizua
Dicharachero
Dicharachero
Mensajes:173
Registrado:Domingo 8 Enero 2006 11:00 PM
Ubicación:bilbao,spain
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable

Mensaje por jespizua » Viernes 12 Mayo 2006 6:56 AM

Muy útil zael, gracias por compartirlo.

Un saludo :wink:

Avatar de Usuario
zael
Timido
Timido
Mensajes:12
Registrado:Miércoles 8 Febrero 2006 11:00 PM
Ubicación:Argentina
Contactar:

Mensaje por zael » Viernes 12 Mayo 2006 12:54 PM

Por nada. Sabemos que entre todos los aportes vamos a conocer mas esta herramienta.
Saludos

Avatar de Usuario
jan
Sosito
Sosito
Mensajes:22
Registrado:Domingo 8 Enero 2006 11:00 PM
Ubicación:España
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable

Mensaje por jan » Domingo 14 Mayo 2006 8:57 PM

La tabla está genial zael, resulta muy útil. Muchas gracias por el trabajo.

Una petición. ¿Sería posible que publicarais la tabla en un formato editable? Lo digo porque, al igual que en el ejemplo que pones, a veces hay que ir con la lupa puesta en el ojo para poder trazar algo. Vamos, que tendría que tenerla impresa en A1 para poder ver algo. Si pudieris ponerla en un formato editable lo haría directamente en el pc, sin las limitaciones del soporte impreso.

Un saludo
Un saludo

Avatar de Usuario
zael
Timido
Timido
Mensajes:12
Registrado:Miércoles 8 Febrero 2006 11:00 PM
Ubicación:Argentina
Contactar:

Mensaje por zael » Martes 16 Mayo 2006 12:53 AM

Hola Jan,
Puedes abrir los pdf en Coredraw o illustrator.
Desde estos quizás te resulte más fácil.

Aprovecho para aclarar algunas cosas que fui descubriendo con el uso.

-Noté que algunas veces el Benchmark aumenta hasta llegar al SL=15 . Quizás algunos quieran llevar el render de prueba a SL=15 para ser mas precisos en la estimación.

-El valor más importante, luego de trazar los resultados que arrojó el render de prueba, es el Benchmark.
O sea si yo necesito realizar una imagen con una resolución de 2048x1366 (2.79 megapixeles) con unos SL= 17.4 en unas 12horas , me voy fuera de tabla pero continuado las proyecciones de la horas verán que para realizar el render necesitaría un Benchmak de 130.5.
Suponiendo que prueba me dio un benchmark de 30 (por ejemplo). Para llegar a 130.5 necesito 130.5/30 = 4.35 máquinas de iguales caracteristicas que la empleada en la prueba.

-Cuando renderizan en red, el MX no muestra el nivel de sampleado total solo el parcial de cada maquina, pero empleando esta tabla sabrán cual es el sampleado aproximado de esa imagen, ya que lo predijeron antes de separar el trabajo.

saludos

Responder
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 3 invitados