24 de julio de 2008

Decepcionado

Y mucho, además. Hoy he usado la suscripción gratuita al Creators Club que dan al registrarte en DreamBuildPlay (es un añazo gratis!). Me hacía bastante ilusión probar mis ejemplos en la consola, y al principio todo ha ido bien... He probado un par de ejemplos antiguos y funcionaban perfectamente, pero luego ha llegado el momento de probar el que realmente quería poner a prueba.

He creado un proyecto de los fluidos para Xbox 360, he toqueteado un poco el código para que funcionase sin ratón y... F5... Deploying... Running... Zas, lento de narices. Es que no iba ni la mitad de rápido que en PC.

He cambiado alguna cosa más para tener información más precisa de cuánto estaba tardando:

- PC: Fluido de 100x100 -> ~25 ms
- Xbox360: Fluido de 64x64 -> ~65 ms

Si, eso es más del doble de tiempo con una matriz de casi un cuarto del tamaño original. La diferencia es muy grande, *enorme*, sobre todo cuando en principio había metido el thread de la simulación en su propio core... Sabía que XNA era bastante lento en la consola, pero no imaginaba que tanto.

Esto me ha trastocado un poco los planes, y me ha dejado un poco de bajón. ^^U

Pero bueno, me ha servido para ver que con el fluido de 64x64, el Gaussian Blur que puse no servía para prácticamente nada porque lo hacía sobre una imagen muy pixelada puesta sobre un backbuffer a una resolución bastante alta. Esto podría parecer un palo más, pero en realidad me ha servido para mejorar algo bastante interesante... como la Xbox (y muchas gráficas actuales) no permitía filtrar por hardware la textura de la tinta, he decidido implementar el filtro bilinear directamente en el shader, a mano. Bueno, irá como una tortuga pero por lo menos se ve bonito. Seguramente este fin de semana lo dejaré como pueda y lo subiré ya.

OMG no hay foto! o_O

No hay comentarios: