Rendering di mappe 2D sporco


10

Continuo a sentire le persone parlare di "rendering sporco" quando si tratta di rendering delle mappe per HTML5. Ho cercato su Google e cercato su GameDev ma non c'è molto.

  • Che cosa è esattamente?
  • Come implementarlo correttamente?

Risposte:


12

Ciò significa che quando viene disegnato lo sfondo, non tutto viene ridisegnato in ogni fotogramma. Quando qualcosa sulla mappa si sposta, l'area che occupava viene contrassegnata come sporca . Quindi, quando disegni, sai che devi solo ridisegnare quella parte dello sfondo. Questo è utile perché in questo caso è sufficiente ridisegnare le aree che non sono state mostrate prima.

Quindi questo è davvero utile solo quando non hai molte cose in movimento, altrimenti trascorri più tempo a capire quali nuove aree da disegnare rispetto a se ridisegnassi l'intero sfondo. Questo non è più troppo comune in quanto la piattaforma è in genere abbastanza veloce per ridisegnare tutto senza problemi. Dal momento che questa è davvero solo una funzione di ottimizzazione, per ora la ignorerei e ci tornerei se scopri che le prestazioni sono carenti.


6

Il rendering nella maggior parte dei giochi avviene all'interno di un loop (il loop di gioco) e in ogni iterazione del loop di gioco l' intero backbuffer viene cancellato (in questo caso la tela) e ridisegnato da zero.

Il termine rendering sporco si riferisce a una tecnica in cui invece di cancellare l'intera tela ogni fotogramma, si cancella solo su richiesta (cioè solo quando qualcosa è cambiato nella scena) e possibilmente solo una parte di esso (cioè solo la parte in cui qualcosa è cambiato ).

Questo processo di marcatura di una sola parte della tela da ridisegnare è ciò a cui si riferisce lo sporco (ovvero, quella parte della tela è sporca e deve essere ridisegnata, ma tutto il resto è ancora pulito e non deve essere toccato ).

Non ho idea se ci sia un modo speciale per implementarlo in HTML5, ma ho trovato questa risorsa che potrebbe darti alcune idee.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.