Kirli 2D harita oluşturma


10

HTML5 için harita oluşturma söz konusu olduğunda insanların "kirli oluşturma" hakkında konuştuğunu duymaya devam ediyorum. Googled ve bu konuda GameDev aradım ama pek bir şey yok.

  • Tam olarak nedir?
  • Düzgün nasıl uygulanır?

Yanıtlar:


12

Bu, arka plan çizildiğinde, her karenin her birinin yeniden çizilmediği anlamına gelir. Haritadaki bir şey hareket ettiğinde, işgal ettiği alan kirli olarak işaretlenir . Sonra çizim yaparken, arka planın yalnızca o kısmını yeniden çizmeniz gerektiğini bilirsiniz. Bu yararlıdır, çünkü o zaman sadece daha önce gösterilmeyen alanları yeniden çizmeniz gerekir.

Yani bu sadece hareket eden çok şey olmadığında faydalıdır, aksi takdirde arka planın tamamını yeniden çizmekten daha fazla yeni alan çizmek için daha fazla zaman harcarsınız. Platform artık her şeyi sorunsuz bir şekilde yeniden çizebilecek kadar hızlı olduğu için artık çok yaygın değil. Bu gerçekten sadece bir optimizasyon özelliği olduğundan, şimdilik görmezden gelir ve performansın eksik olduğunu fark ederseniz geri dönerim.


6

Çoğu oyunda renderleme bir döngü içinde (oyun döngüsü) gerçekleşir ve oyun döngüsünün her yinelemesinde tüm backbuffer temizlenir (bu durumda tuvaliniz) ve sıfırdan yeniden çizilir.

Terimi kirli render bir teknikle atıfta nerede tamamı yerine Tuvali her kareyi temizliyor, sadece talep üzerine temizlemek (yani sadece zaman bir şey sahne değişti) ve muhtemelen sadece bunun bir kısmı (yani sadece bir bölümü nerede şey değişti ).

Tuvalinizin yeniden çizilmek üzere sadece bir kısmını işaretleme işlemi, kirli olanın ne anlama geldiğini gösterir (yani tuvalin bir kısmı kirli ve yeniden çizilmesi gerekir, ancak diğer her şey hala temizdir ve dokunulmamalıdır ).

Bunu HTML5'te uygulamanız için özel bir yol olup olmadığı hakkında hiçbir fikrim yok, ancak size bazı fikirler verebilecek bu kaynağı buldum .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.