Estoy haciendo un juego 3D en primera persona. ¿Debo darle a cada personaje su propio VBO o debo agrupar todos los caracteres en un solo VBO? ¿Cuáles son los pros / contras?
Estoy haciendo un juego 3D en primera persona. ¿Debo darle a cada personaje su propio VBO o debo agrupar todos los caracteres en un solo VBO? ¿Cuáles son los pros / contras?
Respuestas:
Esta es realmente una elección entre rendimiento y flexibilidad, pero enumeraré mis opiniones al respecto.
Un solo VBO
Los lados positivos son:
y los lados negativos son:
VBO individual: s
Los lados positivos son:
y los lados negativos son:
Resumen
Te recomiendo que perfiles tu aplicación; Obtenga su cuello de botella real en los datos que puede ver. La optimización prematura puede mostrarse (en este caso) como innecesaria. Sin embargo, dicho esto, si descubriera una pérdida de rendimiento real en su aplicación, dado el escenario de VBO individual , puede comenzar a implementar un solo VBO.
Sin embargo, siempre que no sea necesario (el número de objetos es bajo, no hay muchos cambios de estado en general, etc.) recomendaría ir con VBO individuales: a menos que vea que eso no va a funcionar.
Editar
Olvidé mencionar que estaría bien con múltiples llamadas de sorteo. Lo más importante en tiempos críticos de rendimiento es mantener los cambios de estado al mínimo. Simplemente puede establecer el número de índices para procesar y un desplazamiento para cada llamada de sorteo, y esto está bien. Sin embargo, mantener los cambios de estado lo más bajo posible y hacer la menor cantidad de llamadas posibles, ese es el gran saludo de esta respuesta, o al menos lo que intenté decir.