2010-08-19 4 views

Respuesta

4

Esto normalmente se controla mediante la combinación de un "bucle de juego" (http://gamedesign.wikicomplete.info/game-loop) donde el código gira y dibuja fotogramas con un intervalo de tiempo determinado. Cuando se utilizan diferentes dispositivos, los cuadros pueden tardar más en dibujarse, por lo que esto generalmente se soluciona ajustando dinámicamente el "nivel de detalle" (LOD) y/o utilizando "salto de cuadro", por el cual no se dibuja un cuadro en cada ciclo. De hecho hay otra pregunta que demos un algoritmo básico para esto:

Allegro 5 game: game loop that runs at constant speed?

-Oisin

+0

muy interesante gracias! – Jorgesys

+0

Wikicompleto me está agotando el tiempo. Aquí hay un [buen artículo sobre bucles de juego] (http://www.koonsolo.com/news/dewitters-gameloop/). – idbrii

1

Correr más rápido es por lo general una buena cosa! La mejor manera de garantizar que el juego se ejecute correctamente en cualquier dispositivo es basar sus actualizaciones en el tiempo transcurrido desde la última actualización. Esto mantiene la coherencia del juego cuando se ejecuta en un dispositivo más rápido.

De lo contrario, podría agregar una llamada de espera en el dispositivo más rápido, pero ¿por qué no correr más suave cuando puede?

+1

Porque consumirá la batería más rápido e innecesariamente evitará que otros procesos usen la CPU, que el usuario puede querer seguir funcionando. Me parece que si vas a acaparar la CPU, debería haber una opción para ser "agradable". – LarsH

Cuestiones relacionadas