Kết xuất bản đồ 2D bẩn


10

Tôi cứ nghe mọi người nói về "kết xuất bẩn" khi nói đến kết xuất bản đồ cho HTML5. Tôi đã Googled và tìm kiếm GameDev về nó nhưng không có nhiều về nó.

  • Chính xác thì nó là gì?
  • Làm thế nào để thực hiện đúng?

Câu trả lời:


12

Điều này có nghĩa là khi nền được vẽ, không phải tất cả đều được vẽ lại mọi khung hình. Khi một cái gì đó trên bản đồ di chuyển, khu vực mà nó sử dụng để đánh dấu bị bẩn . Sau đó, khi vẽ, bạn biết bạn chỉ cần vẽ lại phần nền đó. Điều này có lợi vì sau đó bạn chỉ cần vẽ lại các khu vực chưa được hiển thị trước đó.

Vì vậy, điều này thực sự chỉ có lợi khi bạn không có nhiều thứ di chuyển, nếu không, bạn dành nhiều thời gian hơn để tìm ra những lĩnh vực mới sẽ vẽ hơn là nếu bạn chỉ vẽ lại toàn bộ nền. Điều này không còn quá phổ biến nữa vì nền tảng thường đủ nhanh để vẽ lại mọi thứ mà không gặp sự cố. Vì đây thực sự chỉ là một tính năng tối ưu hóa, tôi sẽ bỏ qua nó ngay bây giờ và quay lại với nó nếu bạn thấy rằng hiệu suất còn thiếu.


6

Kết xuất trong hầu hết các trò chơi diễn ra trong một vòng lặp (vòng lặp trò chơi) và trong mỗi lần lặp của vòng lặp trò chơi, toàn bộ backbuffer sẽ bị xóa (trong trường hợp này là khung vẽ của bạn) và vẽ lại từ đầu.

Thuật ngữ vẽ bẩn là đề cập đến một kỹ thuật mà thay vì xóa toàn bộ vải mỗi khung hình, bạn chỉ xóa nó theo yêu cầu (tức là chỉ khi một cái gì đó thay đổi trong cảnh) và có thể chỉ là một phần của nó (tức là chỉ có phần nơi một cái gì đó đã thay đổi ).

Quá trình đánh dấu chỉ một phần của khung vẽ của bạn sẽ được vẽ lại là những gì bẩn đang đề cập đến (nghĩa là phần vải đó bị bẩn và cần được vẽ lại nhưng mọi thứ khác vẫn sạch và không nên chạm vào ).

Tôi không biết có cách nào đặc biệt để bạn thực hiện điều này trong HTML5 không, nhưng tôi đã tìm thấy tài nguyên này có thể cung cấp cho bạn một số ý tưởng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.