Bueno, esto va para largo, pero os iré poniendo en precedentes:
La semana pasada estuve en Sintesys de visita obligada para ir presentando el progreso de mi escena, y pedirle al director de tal sitio, que me detallase los pasos a seguir para poder trabajar con varios ordenadores. Y así expliqué el modo de hacerlo, en esta dirección:
renders en red.
La historia comienza genial; dos ordenadores, éste, que viene a ser el principal (x2-4400) y otro, más modesto, como esclavo (athlon-3200). Creo una escena con cubos sobre un grid, le pongo final gathering y rendeo. Los resultados son bastante buenos, comprobando en el history log que aún habiendo realizando el X2-4400 una buena parte del trabajo, el otro ha colaborado.
Luces, estrellas y fuegos artificiales y tres días de fiesta declarados para festejar el evento.
Así pues procedo con todo mi ánimo a probar a rendear la escena en la que estoy trabajando.
Error de memoria.
Bueno, pienso, eso se debe a que el esclavo (athlon-3200) tiene sólo un giga... Encargo dos módulos de memoria de 1 Gb, y procedo a realizar las pruebas con un portátil, un Core 2 duo con 2 gigas de ram.
En este caso el history log me dice literalmente: Slave 1 is dead.
Genial.
Parte dos:Consigo los dos módulos y los instalo, logrando que el ahtlon-3200 disponga así de dos gigas y medio de ram. Procedo a rendear.
Tras haber estado el equipo principal (X2-4400) calculando el FG al 25% aprox. el history log se llena de mensajes en los que declara, una y otra vez que no ha habido respuesta del esclavo durante tres minutos.
Genial!
Parte tres:Todo apunta a un problema de comunicación, así que pidiendo consejo en un par de tiendas me ofrecen un cable cruzado para conectar los dos ordenadores directamente y olvidarle del router que puede estar ocasionando el conflicto.
Configuro, conecto, hago pings y veo que todo está en orden. Como dispongo de un cable de red adicional, pues conecto el portátil y así voy a por todas de la siguiente manera:
El Principal está conectado directamente al athlon a través del cable mencionado; y al portátil a través de otra salida de red que lleva al router.
Rendeo... Y error de memoria otra vez.
Súper.
Parte cuatro:Desinstalo el XSI en el Athlon, y me olvido del portátil. Reinstalo como "render slave", y procedo a realizar la misma prueba:
Los resultados no decepcionan:
'INFO : SCEN 0.2 progr: begin scene preprocessing for frame 100
'INFO : RCFG 0.2 progr: scheduling precomputing final gather jobs
'INFO : RC 0.2 progr: rendering
'INFO : RCI 0.2 progr: begin intersection preprocessing
'INFO : RCI 0.2 progr: building initial extent bsp-tree
'INFO : RCI 0.2 progr: end intersection preprocessing
'INFO : RCFG 0.2 progr: computing final gather points
'INFO : RCI 1.0 progr: begin intersection preprocessing
'INFO : RCI 1.0 progr: building initial extent bsp-tree
'INFO : RCI 1.0 progr: end intersection preprocessing
'INFO : PHEN 1.0 error 051011: shader "sib_setnormal" not found
'INFO : PHEN 1.0 error 051011: shader "Bionic_Volume" not found
'INFO : PHEN 1.0 error 051011: shader "sib_FXVolume" not found'INFO : JOB 0.n progr: 0.1% computing final gather points on athlon-3200.0
'INFO : JOB 0.n progr: 0.2% computing final gather points on athlon-3200.1
'INFO : PHEN 1.0 error 051011: shader "sib_color_rayswitch_v3" not found'INFO : JOB 0.n progr: 0.4% computing final gather points on athlon-3200.0
'INFO : JOB 0.n progr: 0.5% computing final gather points on athlon-3200.0
'INFO : JOB 0.n progr: 0.7% computing final gather points on athlon-3200.0
El esclavo (athlon) ha calculado a toda pastilla sus cosas dejando todo negro, salvo cuatro huecos que han sido rendeados correctamente por el pc principal. Arriba podemos ver el porqué en rojo, le ha faltado algo y no sé porqué.
Parte cinco (y final, de momento):desintalo el software del esclavo, y lo vuelvo a reinstalar todo de nuevo. Pero esta vez al maestro le pongo un límite de uso de memoria de 2048 Mb, de manera que así la memoria no dé error.
Los resultados son buenos, la escena se rendea, en apariencia bien, pero le lleva una eternidad repartir las texturas, convertirlas a .map (512 x 512) y manejarse con la memoria. No me parece lo más productivo.
Conclusión:Cualquier sugerencia es bienvenida, mientras, evidentemente, no implique hardware nuevo. Si conocéis así mismo algún tipo de Software que pueda sustituir las funciones del XSI para rendear en red, estaré encantadísimo de probarlo.
Muchísimas gracias a los que hayáis llegado hasta aquí, y ánimo con vuestros proyectos.
Gonzalo.