English | Mandarin | French | Italian | Russian
Boygrouping denota la arquitectura interna de cliente o servidor de vvvv.
Esto permite controlar el render de cualquier cantidad de ordenadores cliente con un solo ordenador servidor .
Toda la programación se hace en el servidor y vvvv se ocupa de darle la orden a todos los clientes para que anden en sincronia n'sync.
El resultado de las aplicaciones usando Boygrouping suelen ser sistemas de proyección multipantalla .
Una instalción Boygroup consiste en un Pc servidor dedicado y un numero de clientes conectados via red ethernet. Conexiones Gigabit son por supuesto recomendadas ahora , pero Boygrouping tambien se usaba cuando
100baseT eran casi un articulo de lujo .
La configuración de Boygrouping mas sencilla consiste en un servidor y un cliente , en esta configuración podrias usar incluso el servidor para mostrarse en pantalla completa una de las salidas . Sin embargo ,dependiendo de tus patches y su consumo , quizas no sea la configuración mas adecuada , puesto que el servidor iria mas lento que los clientes al tener que trabajar mas .
Normalmente es recomendable crear una estructura de directorios como la que se muestra a continuación para un proyecto especifico con vvvv:
C:\MYPROJECT\patches C:\MYPROJECT\resources C:\MYPROJECT\vvvv33betaXX
En una configuración de Boygroup es bastante util compartir y tener acceso a traves de la red el directorio \MYPROJECT y mantener la misma estructura en todos los clientes. Date cuenta que los clientes no necesitaran el directorio patches por que reciviran los datos de los nodos magicamente desde el servidor!
Boygrouping no transmite ningun archivo (texturas,videos,effect,archivos..) a traves de la red . Solo información del tipo (values,strings,colors,enums) es mandada automaticamente.
Por eso todos los archivos que pueda usar el servidor deberan de estar accesibles en los clientes . Sincronizar la estructura de directorios del servidor con los clientes puede conseguirse facilmente usando la herramienta simple mirroring tool.
La parte de patching de los clientes es muy transparente.En realidad no hay que hacer nada de patching en los clientes .
Lo unico que tienes que hacer es iniciar vvvv.exe en modo cliente con
los /client [ServerIP] commandline parameter asi:
vvvv.exe /client 192.168.0.100
siendo 192.168.0.100 la ip del servidor .Puedes verificar si vvvv
esta en modo cliente comprobando la barra de tareas , la pestaña de vvvv deberia poner :CLIENT! 192.168.0.100
Mientras que haces un patch normlamente especificas la ruta de los archivos necesarios a ruta relativa. Para hacer saber al cliente a que se refiere el servidor con esa ruta relativa , debemos de especificarlo cuando se inicialice el cliente a que rutas relativas se debe de expandir .
vvvv.exe /192.168.0.100 C:\MYPROJECT\patches
Inicializando con la ruta de arriba el cliente se expandira a
..\resources\textures\mask.jpg
el cual estara accesible exactamente de esta manera.
C:\MYPROJECT\resources\textures\mask.jpg
En el servidor inicializa vvvv con el /server commandline parameter la pestaña de vvvv deberia poner :SERVER! para indicar su modo.
Para decirle al servidor con que clientes a de negociar , crea un nodo Boygroup (VVVV) Server? . En el pin Clientes conecta un spread con las IPs de todos los clientes , normalmente deberias tener un patch parecido a este:
Fijate que los nodos Boygroup' muestran un spreaf de boleanos indicando el estado de conexion de cada cliente individualmente.
Si todo esta bien en unos pocos segundos (<10) despues de inicializarse deberian de verse conectados.
En una instancia de vvvv ejecutado en modo servidor el atajo de teclado CTRL+B te permite poner en Boygroup nodos individualmente.
Los nodos que estan en Boygroup se ponen de color azul , esto indica que han sido clonados en los clientes ,incluso si no los ves en el cliente , el calculo se ha realizado igualmente.
Normalmente empezaras haciendo Boygroup a un Renderer.Si te fijas vvvv tambien pondra en Boygroup los nodos vecinso necesarios.Esto es porque los nodos conectados via conexion entre nodos como(transforms, textures, audio, video, layers,...), necesitan ser conectados en la misma parte de la red .Entiendelo tal y como es , de todas formas es automatico y no necesita ningun pensamiento de esfuerzo mas en entenderlo.
Sin embargo , lo que si necesita ser entendido es que nodos deben de ponerse en Boygroup manualmente aparte de los que se ponen automaticamente , para obtener mejores resultados.
No hay una regla general como( "boygroup todo lo que puedas" o "menos boygroup es mejor" ).
En vez de esto se consciente que todos los datos que pasan entre nodos boygrouped (azules) y nodos normales (grises) se manda por la red cada frame ( por supuesto , solo si hay un cambio )
Asi que , deberias tener en consideración este tipo de conexiones
y no cargarlas con grandes spreads sino crea nodos en boygroup que generen estos spreads .
Tambien hay limites en la red que pueden hacer que boygroup deje de transmitir información si mandas una cantidad de datos excesiva .
(Mira el FAQ abajo).
Veamos 3 tipos de scenarios boygroup a lo que puede que te enfrentes mientras haces un patch :.
Encontrar que nodos es mejor poner en boygroup lleva algo de practica
pero en general no puedes equivocarte demasiado . Si tus resultados van despacio y regular intenta poner en boygroup diferentes nodos o pon en tu animación un nodo Damper (Animation) en azul .
Hasta el momento todos los clientes realizaran la misma tarea en sincronia , lo cual puede que no sea muy interesante. Imagina a Justin, Lance, JC, Joey and Chris realizando sus movimientos de baile exactatmente en la misma posición en la pista. Mientras que esto podria causar artefactos interesantes , no funcionaria en nuestro mundo limitado a 3 dimensiones . Es por esto por lo que boygroup introduce ClientID esta caracteristica es la unica que nos deja distinguir un cliente de otro y por supuesto la vista en el servidor.
El nodo Boygroup (VVVV) Client? devuelve un ID diferente desde 0 a el numero de clientes -1.
El orden depende del spread de las direcciones ip que introdujiste en el nodo Boygroup (VVVV) Server? . IP en el slice 0 sera ClientID 0 y sai con todos los demas . Si te fijas el nodo ((Boygroup (VVVV)
Client)) devuelve cualquier numero que pongas en el pinServerID y este valor no afecta a los ID de los clientes sencillamente simula a los clientes en el servidor .
Para un ejemplo sencillo mira
girlpower\takethat.v4p.
Alli veras el nodo Boygroup (VVVV) Client? en acción.
El ejemplo es usado para poner la camara en un offset diferente en cada cliente.
En bogroup estandar querras seguir patcheando en el servidor mientras que los clientes estan a pantalla completa .
Por lo tanto querras los pines Fullscreen de los Renderers en 1 en los clientes y 0 en el servidor.Recuerda que la unica manera de distinguir el servidor de los clientes es el ClientID.
Dependiendo de esto puedes hacer algo como lo que se muestra acontinuación para tener el renderer del servidor en modo ventana y los clientes en pantalla completa .
MIra tonfilm-VideoSync?
Cuando tienes que manipular un gran numero de clientes suele ser util
iniciar y cerrar vvvv.exe en todos los clientes con un solo click en el servidor . Esto se puede conseguir con el nodo Remote Shell
RSh (Network) .
Para que esto funcione los clientes necesitan tener instalado remote shell daemon .Mira rshd.
A traves de la caracteristica de las placas base WakeOnLAN puedes decirle a los clientes que se enciendad una vez encendido el servidor . Mira tonfilm-WOLandShutdown?.
Por ahora todos los renderers en boygroup se muestran en el escritorio en la posición 0/0 independientemente de su posición en el servidor .
Las coordenadas del escritorio 0/0 suelen ser la esquina izuierda de arriba en el primer monitor de tu tarjeta grafica. Asi que por el momento no hay una solución sencila para decidir en que monitor un renderer hace fullscreen en u ncliente.
Se recomienda no usar subdirectorios en el directorio de los patches del servidor para crear jerarquias en tus patches , por que esto puede causar problemas con los paths relativos para encontrar recursos en los clientes .
Este atajo solo funiona en modo servidor . Inicia vvvv con el parametro /server para activar boygroup.
Hechale un vistazo a Renderer (TTY).Probablemente te diga el porque no puede realizar la operación .
Normalmente puede ser por que estes en un subpatch o algo realcionado con los nodos Send/Receive .
Que no entre el panico , se puede encontrar una solición para estas situaciones.
Intenta bajar el spreadcounts, puede que hayas excedido el limite de tu red .
MTU-size
VVVV establece una conexion TCP en el puerto 3333 en cada cliente para transmitir todos los cambios graficos . Todos los cambios de valor se mandan con UDP por el puerto 3333.En el nodo Boygroup (VVVV) Server? puedes cambiar en teoria que los valores broadcast se manden via TCP en vez de UDP lo cual no tiene mucho sentido .
Mas util seria la opción Quiet que desconecta hacer broadcast en todos los cambios de valor .
anonymous user login
~2d ago
~2d ago
~9d ago
~11d ago
~13d ago
~16d ago
~16d ago
~23d ago
~30d ago
~30d ago