Bật khử răng cưa trong game – Bao nhiêu là đủ ? (Phần 1)

Trong thời gian dài, việc khử răng cưa đã trở thành một yếu tố quan trọng không thể thiếu trong các trò chơi PC hiện nay. Tuy nhiên, không phải ai cũng hiểu được cách hoạt động của nó. Bài viết này sẽ giúp bạn hiểu một cách tổng quan về tính năng thú vị này.
Răng cưa là gì?
Đầu tiên, hãy hiểu rằng màn hình máy tính là một ma trận gồm nhiều ô vuông nhỏ được gọi là pixel. Trong thực tế, một đường thẳng là tập hợp của vô số điểm, nhưng trên màn hình, nó chỉ được tạo thành từ một số hữu hạn các pixel. Mọi hình ảnh trên máy tính đều được hiển thị bằng cách sử dụng các pixel, điều này có thể dẫn đến hiện tượng răng cưa.
Hiện tượng răng cưa trên một đường chéo.
Khi các pixel được xếp sát nhau, chúng tạo ra hình dạng giống răng cưa. Lý thuyết cho rằng, nếu số lượng pixel đủ lớn, mắt ta sẽ không nhìn thấy răng cưa này. Tuy nhiên, màn hình hiện đại không thể làm được điều đó. Do đó, các nhà sản xuất card đồ họa đã phát triển công nghệ Anti-Aliasing để giải quyết vấn đề này.
Anti – Aliasing (AA) hoạt động như thế nào?
AA được tạo ra với mục đích cải thiện chất lượng hình ảnh trong các trò chơi bằng cách loại bỏ hiện tượng răng cưa. Có nhiều phương pháp để giảm răng cưa, nhưng chúng đều dựa trên việc sử dụng GPU để tính toán màu trung gian cho các pixel dựa trên màu của các pixel xung quanh. Điều này giúp làm giảm hiện tượng răng cưa trên các đường viền. Hình sau đây sẽ giúp bạn hình dung rõ hơn về quá trình giảm răng cưa.
So sánh trước và sau khi kích hoạt AA.
Trong hình ảnh trên, đường viền của hình tròn được kết hợp với các pixel màu xám, tạo ra một hiệu ứng mềm mại và giảm thiểu hiện tượng răng cưa.
Hai phương pháp giảm răng cưa cơ bản nhất được sử dụng hiện nay là Super Sampling và Multi Sampling.
Siêu mẫu mẫu (SSAA hay FSAA).
Super Sampling là phương pháp đầu tiên được sử dụng để khử răng cưa. Để khử răng cưa, GPU tính toán màu cho các pixel để đảm bảo phù hợp. Nguyên lý của FSAA là GPU tạo ra một hình ảnh có độ phân giải cao hơn so với độ phân giải ban đầu bằng cách tạo ra hình ảnh trong GPU (không hiển thị trên màn hình). Độ phân giải cao hơn phụ thuộc vào mức lấy mẫu.
Ví dụ, nếu màn hình có độ phân giải 1024 x 768 và sử dụng 4x FSAA (2x cho chiều dài và 2x cho chiều rộng), hình ảnh sẽ được tạo ra trước với độ phân giải là (1024 * 2) x (768 * 2) = 2048 x 1536, sau đó thu nhỏ về độ phân giải gốc. Mỗi pixel sẽ có màu sắc là tổng hợp của 4 pixel được tạo ra trước (gọi là sample pixels hay pixel mẫu), điều này làm cho các đường viền răng cưa trở nên khó nhận thấy hơn. Với chế độ khử răng cưa 2x AA, hình ảnh sẽ được tạo với chiều dài hoặc chiều rộng gấp đôi thay vì cả 2 chiều như 4x.
Trình diễn với độ phân giải kéo dài rồi rút gọn lại.
Phương pháp khử răng cưa (FSAA) đã từ lâu được sử dụng để cải thiện chất lượng hình ảnh. Tuy nhiên, việc tính toán thêm điểm ảnh trên GPU đã khiến hiệu năng dựng hình giảm đáng kể. Người sử dụng card đồ họa GeForce 2 của NVIDIA có thể nhớ rõ rằng tính năng FSAA chỉ để ngắm vì mức fps khi kích hoạt FSAA là không chấp nhận được. Vì vậy, tính năng FSAA đã bị loại bỏ trong các driver của NVIDIA (trừ dòng card HD 5xxx trở đi của ATI/AMD đã hỗ trợ FSAA trở lại).
Đa Mẫu (MSAA).
Việc ra đời của Multi Sampling nhằm thay thế Super Sampling, nhằm đạt được sự cân bằng giữa hiệu năng và chất lượng. Nó giúp giảm số lượng điểm ảnh mà GPU phải tính toán thêm.
MSAA hoạt động tương tự như SSAA, tuy nhiên thay vì xử lý màu và độ sâu của tất cả các pixel như SSAA, MSAA sẽ tiến hành 1 phép thử độ sâu của các mẫu nằm bên trong pixel để xác định những pixel nằm trên cạnh vật thể và từ đó tiến hành khử răng cưa. Việc này giúp GPU chỉ cần tính toán để khử răng cưa phần vật thể mà không cần khử toàn bộ khung hình như FSAA.
Nguyên tắc hoạt động của MSAA.
Hình dưới đây là một ví dụ về MSAA với mức lấy mẫu 4x. Các chấm đỏ trên hình chỉ ra vị trí mà GPU sẽ lấy mẫu để trộn màu cho phù hợp. Có thể thấy rằng pixel ở góc trên bên trái có 2 mẫu nằm trong vùng xanh lá cây và 2 mẫu nằm trong vùng xanh lam. Do đó, màu của pixel này sẽ được trộn theo tỉ lệ tương ứng là 2 : 2. Khi số lượng mẫu trong một pixel càng nhiều, tỉ lệ trộn màu càng chính xác và khả năng khử răng cưa càng tốt.
MSAA có ưu điểm dễ nhận thấy hơn FSAA là GPU không cần tính toán và chỉnh sửa màu cho tất cả các pixel trên màn hình, chỉ cần thực hiện điều này trên những khu vực cạnh của các vật thể. Điều này có nghĩa là tốc độ khung hình không bị giảm sút như FSAA.
So sánh chất lượng hình ảnh giữa FSAA và MSAA.
Để thuận tiện cho việc so sánh, chúng ta hãy cùng xem 3 hình ảnh dưới đây.
Chưa kích hoạt AA.
MSAA 4x.
Và chức năng chống xén 4 lần.
Sự chênh lệch về chất lượng hình ảnh giữa FSAA và MSAA rõ ràng, đặc biệt là trong các khu vực có mặt nước và lưới sắt (khu vực lưới sắt khi bật MSAA 4x không có sự thay đổi so với khi chưa bật AA). Điều này cũng là hạn chế lớn nhất của MSAA vì nó chỉ khử răng cưa trên các cạnh của vật thể mà không khử texture bên trong.
Như đã đề cập, FSAA ảnh hưởng đến tất cả các pixel trên màn hình. Ngoài việc giảm răng cưa, FSAA còn làm cho bề mặt các vật thể trở nên trơn tru hơn. Điều này là do MSAA có một số hạn chế, vì vậy cả AMD và NVIDIA đã phát triển các công nghệ riêng để khắc phục điều này, sẽ được đề cập trong phần tiếp theo.