Representación de mapas 2D sucios


10

Sigo escuchando a la gente hablar sobre "renderizado sucio" cuando se trata de renderizar mapas para HTML5. Busqué en Google y busqué en GameDev al respecto, pero no hay mucho al respecto.

  • ¿Qué es exactamente?
  • ¿Cómo implementarlo adecuadamente?

Respuestas:


12

Esto significa que cuando se dibuja el fondo, no todo se vuelve a dibujar en cada cuadro. Cuando algo en el mapa se mueve, el área que solía ocupar se marca como sucia . Luego, al dibujar, sabe que solo necesita volver a dibujar esa parte del fondo. Esto es beneficioso porque solo necesita volver a dibujar las áreas que no se mostraban antes.

Por lo tanto, esto es realmente beneficioso cuando no tiene muchas cosas en movimiento, de lo contrario, pasa más tiempo descubriendo qué nuevas áreas dibujar que si simplemente redibuja todo el fondo. Esto ya no es demasiado común, ya que la plataforma suele ser lo suficientemente rápida como para volver a dibujar todo sin problemas. Dado que esto es realmente solo una función de optimización, lo ignoraría por ahora, y volvería a ello si encuentra que falta rendimiento.


6

La representación en la mayoría de los juegos tiene lugar dentro de un bucle (el bucle del juego) y en cada iteración del bucle del juego se borra todo el backbuffer (en este caso, su lienzo) y se vuelve a dibujar desde cero.

El término renderizado sucio se refiere a una técnica en la que, en lugar de borrar todo el lienzo en cada fotograma, solo se borra a pedido (es decir, solo cuando algo cambió en la escena) y posiblemente solo una parte (es decir, solo la parte donde algo cambió) )

Este proceso de marcar solo una parte de su lienzo para volver a dibujarlo es a lo que se refiere sucio (es decir, esa parte del lienzo está sucia y necesita volver a dibujarse, pero todo lo demás todavía está limpio y no debe tocarse ).

No tengo idea de si hay alguna forma especial de implementar esto en HTML5, pero encontré este recurso que podría darle algunas ideas.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.