Ciągle słyszę, jak ludzie mówią o „brudnym renderowaniu”, jeśli chodzi o renderowanie map dla HTML5. Przeszukałem go i przeszukałem GameDev, ale nie ma o tym wiele.
- Co to dokładnie jest
- Jak prawidłowo go wdrożyć?
źródło
Ciągle słyszę, jak ludzie mówią o „brudnym renderowaniu”, jeśli chodzi o renderowanie map dla HTML5. Przeszukałem go i przeszukałem GameDev, ale nie ma o tym wiele.
Oznacza to, że po narysowaniu tła nie przerysowuje się każdej klatki. Kiedy coś na mapie się porusza, obszar, który zajmował, zostaje oznaczony jako brudny . Następnie podczas rysowania wiesz, że wystarczy przerysować tylko tę część tła. Jest to korzystne, ponieważ wystarczy przerysować obszary, które nie były wcześniej pokazywane.
Jest to więc naprawdę korzystne tylko wtedy, gdy nie ma wielu rzeczy, które się poruszają, w przeciwnym razie spędzasz więcej czasu, zastanawiając się, jakie nowe obszary narysować, niż po prostu zmniejszając całe tło. Nie jest to już zbyt powszechne, ponieważ platforma jest zwykle wystarczająco szybka, aby przerysować wszystko bez problemu. Ponieważ jest to tak naprawdę funkcja optymalizacji, na razie zignoruję ją i wrócę do niej, jeśli okaże się, że brakuje jej wydajności.
Renderowanie w większości gier odbywa się w pętli (pętla gry), a podczas każdej iteracji pętli gry cały backbuffer jest usuwany (w tym przypadku płótno) i przerysowany od nowa.
Termin „ brudne renderowanie” odnosi się do techniki, w której zamiast czyszczenia całego płótna z każdej klatki, usuwasz go tylko na żądanie (tj. Tylko wtedy, gdy coś się zmieniło na scenie) i prawdopodobnie tylko jego część (tj. Tylko część, w której coś się zmieniło) ).
Ten proces oznaczania tylko części twojego płótna, który ma być przerysowany, jest tym, do czego odnosi się brudne (tj. Ta część płótna jest brudna i musi być przerysowana, ale wszystko inne jest nadal czyste i nie powinno być dotykane ).
Nie mam pojęcia, czy jest jakiś specjalny sposób na wdrożenie tego w HTML5, ale znalazłem ten zasób, który może dać ci jakieś pomysły.