PleasantVille

Quienes hayan visto la película PleasantVille ya estarán vislumbrando a que me voy a referir en este artículo 🙂

Y, tal como el protagonista de la película, muchos usuarios de SL nos sentimos extraños viendo un mundo repleto de avatares grises. En algunos casos es solo cuestión de esperar, en otros, ni la más infinita de las paciencias logra resultado alguno y seguiremos viendo grises a todos los avatares hasta que, por alguna casualidad, en algún inicio de sesión comenzamos a ver nuevamente los colores y texturas.

Esta situación provoca desconcierto, enojos, furia, desaliento y varias sensaciones más. Creemos que la culpa es de nuestro visor (preguntamos y otros nos responden que a ellos les va fenomenal), lo cambiamos, instalamos la superpoderosagenial última actualización del visor para solucionar «nuestro» problema y todo sigue igual, o peor. Alguién que sabe mucho y nos habla con total seguridad nos recomienda usar el visor tal o cual que es mucho mejor, que es mas liviano, que tiene mejores gráficos, que no crashea, que nunca le dió problemas, que….., en fin, como con los cantos de sirenas, nos dejamos llevar por esa voz que dulcemente y al oido nos promete un mundo inmejorable de la mano del afamado visor que nos recomiendan y lo instalamos, con toda euforia iniciamos sesión por primera vez y…..

Seguimos igual, todo gris o peor. Algunos afortunados logran ver bien las texturas y avatares pero la felicidad les dura poco, se convierten en nubes, el visor crashea cada 5 minutos, la pantalla se les pone negra, rosa y amaga pasar por todos los espectros lumínicos, que la memoria es insuficiente, que el voice no funciona, que el stream de audio se corta, que el avatar está enterrado en el piso, que…..

Y, dentro de este contexto, los soportistas de tal o cual visor ya no saben que responder o que aconsejar, porque… infaltable realidad, al soportista el visor nunca le falla (y esto es real, me consta como soportista que soy) y, por ende, no puede imaginarse cual puede ser el problema. Lo consulta y, obviamente, al resto de los soportistas y desarrolladores de tal o cual visor, tampoco les pasa dicho problema, con lo cual, nos quedamos sin respuestas y con toda la frustración imaginable.

De más está decir que en este calvario que nos toca sufrir, quizás la frase que mas veces leamos o escuchemos de quienes nos aconsejan y brindan todo tipo de solución mágica para salir adelante es «actualiza tu pc, second life es muy pesado», sin siquiera habernos leído o escuchado cuando dijimos que tenemos un PC con procesador de 4 núcleos, 8 o mas GB de RAM, tarjeta gráfica de 2GB de RAM de última generación y, por si fuera poco, un disco de estado sólido (SSD). Aquí es infaltable la expresión «para correr SL necesitas un computador de la NASA».

Entonces, ¿Qué podemos hacer?, no mucho, básicamente lo que siempre hubo que hacer para no tener lag en Second Life, seguir una reglas básicas mínimas para no forzar a nuestra PC y lograr un equilibrio entre calidad y prestación de la aplicación y cómo ésta nos permite interactuar con el mundo virtual.

Primero, debemos tener conciencia que Second Life es un entorno complejo y distinto a todo entorno conocido, no es facebook, no es twitter, no es WoW ni ningún otro juego en línea al que los jugadores estén acostumbrados. Intentar aplicar aquí todos los trucos que aplican en otros entornos puede llevarlos al fracaso total y a perder las ganas de continuar participando en Second Life.

Por su estructura, SL es un entorno dinámico, donde, a priori, el sistema no sabe qué tiene que mostrar ni cómo, a diferencia de los juegos on line (u offline) que ya tienen predefinidos todos los aspectos del juego: IA, gráficos, etc. y el programa solo los carga y ejecuta o visualiza en alta calidad. En Second Life, hay una interacción constante entre cliente y servidor(es) para que podamos ver lo que necesitamos al estar en el mundo: servidores de renderizado de avatares, servidores de assets (inventarios), servidores de renderizado de mapas, servidores para alojar los simuladores que contienen las regiones por las cuales transitamos, etc. etc. Y del otro lado, nuestro visor que debe comunicarse constantemente con todos estos servidores (que a su vez se comunican entre si) para poder «conocer» que debe mostrarnos como resultado final y, luego, interpretar nuestras instrucciones (mouse, teclado, etc.) para enviarlas a los distintos servidores de SL y que éstos actualicen en tiempo real dicha información para mostrarnosla a nosotros mismos y al resto de los usuarios en línea.

Ahora, todos nos seguimos preguntando como puede ser que esté sucediendo esto cuando LL nos aseguró que con la implementación del código del proyecto sunshine (SSA/B, renderizado de avatares) se terminaba por fin con los avatares nube y los problemas de carga de los mismos. Y la respuesta, si bien no es sencilla de explicar, es fácil de decir: Second Life no está(ba) preparado ni por asomo para los cambios que se están realizando para intentar mejorarlo.

¿Cómo?

Si, es así, la plataforma de Second Life nació, fue pensada y diseñada en otra época, hace 10 años atrás, sus protocolos y especificaciones respondían a las necesidades (sencillas) de esa época y, por ende, toda incorporación de nueva tecnología (a los apurones, algo típico de Linden Lab) supone mas problemas que soluciones.

Entonces, tenemos una plataforma preparada para una situación específica (tráfico de red entre nodos que teóricamente soportan las mismas velocidades, manejo de objetos simples (prims), trabajo con protocolos rápidos pero, a su vez, con escasos controles de errores, etc. y, sobre ésta se han ido volcando nuevas características no tan compatibles con el corazón del sistema, con lo cual, para agregar una funcionalidad y solucionar un problema se generan dos o tres nuevos problemas.

Todo esto lo estamos viviendo hoy con la mayor intensidad que recuerdo en siete años. La pila de problemas que se están generando por tantas actualizaciones y parches no tiene precedentes en la historia de Second Life.

Personalmente creo que la única forma de solucionarlo con un margen de error aceptable es «barajar y dar de nuevo», es decir, comenzar a reescribir el código del sistema desde cero, tanto para los servidores como para los visores, pero esta vez, con una filosofía mas amplia y modular que pueda prever futuros cambios y no morir en el intento.

Con este panorama, vuelve a nuestra mente la bendita pregunta: Nosotros, ¿Qué podemos hacer?

Al «nada», debo agregar algunas cosas que siempre debemos tener en cuenta en un ámbito como second life:

  • Ir livianos por el mundo, esto es, no saturar a nuestro avatar con objetos con scripts, AOs, HUDs, ropas, zapatos, pelos con resizers, lo mismo para los gestos, no tener activos mas de 10 gestos.
  • Si podemos vivir sin lo visual, reducir al mínimo la cantidad de partículas (o a cero).
  • No llevar la calidad gráfica al máximo si no hace falta, activar la personalización, colocarla en baja o media y a partir de ahí personalizar cada ítem gráfico a nuestro gusto, subiendo o bajando su calidad en función de nuestras necesidades.
  • Asegurarnos que nuestra conexión a internet es buena y estable. Gran parte de esto depende de nuestro proveedor de internet, pero lo que sea nuestra responsabilidad, debemos asumirla: no utilizar junto con SL otros programas que hagan uso intenso de la red (programas de descarga, P2Ps, etc.).
  • Si no lo necesitamos todo el tiempo, desactivar el media y el stream de música en nuestro visor. Eventualmente si queremos escuchar música, hacerlo copiando el stream de la parcela a nuestro reproductor favorito.
  • Si construímos, no exagerar con lo sculpts o los mesh. Crear texturas optimizadas y con la resolución adecuada, para un skin, por ejemplo, una resolución de 512×512 puede ir mas que bien, para una caja chica, no tiene sentido subir a SL una textura de 1024×1024, con una de 128×128 alcanza y sobra.
  • Todo lo que no sea necesario que tenga propiedades físicas, definirlo como Inmaterial, para que el motor de física del sim no consuma recursos innecesarios.
  • Optimizar los scripts que usemos o creemos. No abusar de los listeners generales ni de los scans por todo el sim cada 5 segundos.

Y, por sobre todas las cosas, paciencia. No hay alternativa. Linden Lab está trabajando para solucionar todos estos problemas (no se porque, pero lo pienso y tiemblo), asi que, si ellos no quieren que se les hunda el barco, deberán corregir todos los fallos y problemas en los que se han metido en este último año.

Los usuarios de windows deben tener en cuenta algo adicional: El visor de Second Life (todos) renderizan gráficamente con OpenGL, un API que, por razones obvias, no tiene buen soporte en las plataformas windows, por ende es lógico esperar más fallos gráficos en los visores bajo windows que bajo Linux o MAC OSX. Por otro lado, es algo a tener también en cuenta a la hora de comprar una tarjeta gráfica, deben prestar especial atención a que la misma tenga soporte (y bueno) para OpenGL, porque, podrá ser la mejor tarjeta del mercado pero si el soporte para OpenGL es pobre, no será lo mejor para Second Life.

En el caso de todos los visores, también tengan presente que muchos problemas no dependen exclusivamente del visor y/o sus desarrolladores, ya que hay dependencias a librerias de terceros (Havok, vivox, FMOD, etc.), por ende, a veces hay que esperar que los desarrolladores de dichas librerías corrijan los fallos que éstan presentan.

Otro aspecto a tener en cuenta es, especialmente en plataformas windows, tener una buena configuración de antivirus y firewall para evitar que alguno de estos sistemas de protección bloquee la ejecución correcta del visor o sus librerías y subprogramas (slplugin, slvoice) o, en casos extremos, los borre del disco.

Algo más, quienes tengan buena PC, con sistemas operativos de 64 bits y 4GB de RAM o mas, mi consejo es que arriesguen y comiencen a utilizar versiones de 64 bits de los visores que las tengan (Kokua y Singularity para linux 64, Firestorm y Singularity para windows 64). No tienen nada extraño a la vista respecto de las versiones «tradicionales», pero si son mas estables y seguros en su funcionamiento en sistemas operativos de 64 bits con PCs de holgados recursos (Aunque estas versiones se encuentren en estado Beta -las de windows-).

En definitiva, muchos problemas, pocas soluciones, pero les prometo que en próximas entregas trataré de dar mas soluciones que problemas.

SaludOS/2

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.