Renderização suja de mapas em 2D

10

Eu continuo ouvindo as pessoas falarem sobre "renderização suja" quando se trata de renderização de mapa para HTML5. Eu pesquisei no Google e procurei no GameDev sobre isso, mas não há muito sobre isso.

  • O que exatamente é isso?
  • Como implementá-lo corretamente?
foobar
fonte

Respostas:

12

Isso significa que, quando o plano de fundo é desenhado, nem tudo é redesenhado a cada quadro. Quando algo no mapa se move, a área que costumava ocupar é marcada como suja . Ao desenhar, você sabe que só precisa redesenhar essa parte do plano de fundo. Isso é benéfico, porque você só precisa redesenhar as áreas que não foram mostradas antes.

Portanto, isso é realmente benéfico apenas quando você não tem muitas coisas em movimento, caso contrário você gasta mais tempo tentando descobrir quais novas áreas desenhar do que se você apenas reformulasse todo o plano de fundo. Isso não é mais muito comum, já que a plataforma geralmente é rápida o suficiente para redesenhar tudo sem problemas. Como esse é realmente apenas um recurso de otimização, eu o ignoraria por enquanto e voltaria a ele se achar que o desempenho está faltando.

MichaelHouse
fonte
6

A renderização na maioria dos jogos ocorre dentro de um loop (o loop do jogo) e em cada iteração do loop do jogo, a totalidade backbuffer é limpo (neste caso, sua tela) e redesenhado do zero.

O termo renderização suja refere-se a uma técnica em que, em vez de limpar toda a tela a cada quadro, você a limpa somente sob demanda (ou seja, apenas quando algo mudou na cena) e possivelmente apenas uma parte dela (ou seja, apenas a parte em que algo mudou )

Esse processo de marcar apenas uma parte da sua tela para ser redesenhada é o que se refere a sujo (ou seja, essa parte da tela está suja e precisa ser redesenhada, mas todo o resto ainda está limpo e não deve ser tocado ).

Não faço ideia se existe alguma maneira especial de implementar isso no HTML5, mas encontrei esse recurso que pode lhe dar algumas idéias.

David Gouveia
fonte