Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Prueba Rendimiento VA vs VBO

Iniciado por nsL, 25 de Septiembre de 2011, 12:36:04 AM

« anterior - próximo »

nsL

Buenas,

Estoy haciendo pruebas de rendimiento en la especie de engine que estoy haciendo para Android, y he comparado mi implementacion de render por Vertex Arrays con la implementación de Vertex Buffer Object. La verdad es que me ha sorprendido que vaya peor con VBO que con VA en todos los casos. Habia leido que para gráficos estáticos iba mejor VBO, pero que en gráficos dinámicos suele ir mejor VA. No parece ser este el caso.

Pongo varias muestras de FPS y tiempo de render (mseg de render de 1 frame), por no hacer la media.

Prueba 100 cuadrados


Prueba 400 cuadrados


Me parece curioso lo variable que es el tiempo de pintado (sobre todo rotando), ya que algunos frames doblan en tiempo a otros (supongo que parte del motivo es que debería usar una función más precisa para calcular el tiempo)

En cualquier caso, tengo que mejorar la manera calcular los FPS. Ahora mismo incremento un contador durante 1 segundo y lo muestro. Sé que no es la mas usada (probablemente de la menos), pero el cálculo con estimaciones (si 1 frame dura X mseg, en 1 seg hay Y frames) me parece un tanto irreal.

Mañana pongo parte del código que uso,a ver si se os ocurre algún fallo que este bajandome el rendimiento, porque considero que son resultados algo bajos....

Un saludin!
Yo no muero hasta la muerte -

Eskema

No tiene mucho misterio lo que planteas, no trabajo con android, pero por lo que se es como el iphone. Asi que no hay memoria dedicada para el VBO, usa la misma ram, por lo tanto la "supuesta" mejora que se obtiene en un pc no la consigues en estos moviles, y es mucho mejor usar el VA.
Si hablaramos de 3D y animaciones con bones entonces necesitarias el VBO, pero para sprites no te calientes VA es tu amigo por ahora :)

nsL

Bueno, esta bien saberlo :) porq estaba ya comiendome el coco en que podria tener mal en la implementacion...

Ademas si evito los VBO, puedo volver a los requisitos de Android 2.2 (para usar VBO hacia falta la 2.3)

Gracias! :)
Yo no muero hasta la muerte -

Eskema

Si en futuros modelos ponen memoria dedicada en la GPU, pues si, los VBO volveran a ser la "bomba" y sera necesario si o si usarlos, pero ahora mismo no hay apenas diferencia en segun que tareas.

Aunque viendo tus resultados te puedo asegurar que en los iphones el VBO va mejor y la diferencia no es tan abismal. Pero bueno cada plataforma es distinta y tiene sus trucos :)






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.