더티 2D 맵 렌더링


10

HTML5의 맵 렌더링과 관련하여 사람들이 "더러운 렌더링"에 대해 이야기하는 것을 계속 듣고 있습니다. Googled를 GameDev에서 검색했지만 그 정도는 많지 않습니다.

  • 정확히 무엇입니까?
  • 제대로 구현하는 방법?

답변:


12

즉, 배경을 그릴 때 모든 프레임이 모두 다시 그려지는 것은 아닙니다. 지도에서 무언가가 움직이면 점유하는 데 사용 된 영역이 더티로 표시됩니다 . 그런 다음 그림을 그릴 때 배경의 해당 부분 만 다시 그려야한다는 것을 알고 있습니다. 이 방법은 이전에 표시되지 않은 영역 만 다시 그려야하기 때문에 유용합니다.

따라서 이것은 많은 것들이 움직이지 않을 때만 유용합니다. 그렇지 않으면 전체 배경을 다시 그리는 것보다 그릴 새로운 영역을 파악하는 데 더 많은 시간을 소비합니다. 플랫폼은 일반적으로 문제없이 모든 것을 다시 그릴만큼 충분히 빠르기 때문에 더 이상 일반적이지 않습니다. 이것은 실제로 최적화 기능이므로 지금은 무시하고 성능이 부족하다는 것을 알게되면 다시 돌아올 것입니다.


6

대부분의 게임에서 렌더링은 루프 (게임 루프) 내에서 이루어지며 게임 루프의 각 반복에서 전체 백 버퍼가 지워지고 (이 경우 캔버스) 처음부터 다시 그려집니다.

더티 렌더링 이라는 용어 는 매 프레임마다 전체 캔버스를 지우는 대신 필요에 따라 (즉 , 장면에서 무언가가 변경된 경우 에만) 캔버스 의 일부만 (즉 , 무언가가 변경된 부분 만) 지우는 기술을 말합니다. ).

캔버스의 일부만 다시 그리도록 표시하는 프로세스는 더티 가 참조하는 것입니다 (즉 , 캔버스의 일부가 더러워지고 다시 그려야하지만 다른 모든 것은 여전히 ​​깨끗하고 손대지 않아야합니다 ).

HTML5에서 이것을 구현하는 특별한 방법이 있는지는 모르겠지만 아이디어를 줄 수있는 이 리소스 를 찾았습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.