Làm cách nào PS4 Pro “yếu” thế mà vẫn chơi được game trên TV 4K?

5084293 Tinhte Game14

Điều hiển nhiên là, độ phân giải mỗi khung hình phải render càng thấp, thì gánh nặng lên phần cứng càng nhẹ nhàng. Mục tiêu của các hãng game trước đây sẽ là đẩy hình ảnh lên độ phân giải cao nhất mà phần cứng có thể chịu được, trong khi vẫn giữ được chất lượng

Tinhte_Game7.png

Nhưng như anh em cũng biết, upscale trực tiếp bằng thuật toán nội suy sẽ khiến chất lượng hình ảnh giảm nghiêm trọng. Bản chất thời PS3 và Xbox 360 cũng ứng dụng cách nâng cấp hình ảnh như thế này. Ví dụ Call of Duty Modern Warfare 2 trên Xbox 360 render ở độ phân giải 1024×600 pixel rồi upscale trực tiếp lên màn hình Full HD hoặc 720p, hình ảnh khá nhoè nhoẹt so với bản game trên PC render ở độ phân giải gốc.

Giải pháp được đưa ra rất đơn giản, hãy render game ở độ phân giải cao nhất mà máy console chịu được, có thể giữ vững tốc độ khung hình ở mức ổn định, nghĩa là từ 55 đến 60 FPS. Nhưng như anh em có thể thấy, upscaling cũng chỉ giúp console bớt được một phần gánh nặng, chơi game hình ảnh nhạt nhoà, góc cạnh chi tiết mờ mịt cũng không phải cách hay. Điều đó đưa chúng ta đến với giải pháp mà các nhà phát triển game console nghĩ ra vài năm về trước.

Checkerboard rendering

Câu hỏi được các kỹ sư đồ hoạ đưa ra là, nếu chúng ta giảm một nửa số pixel trong mỗi khung hình game mà máy phải render, thì độ phân giải tối đa mà máy có thể chịu được trong khi vẫn giữ tốc độ khung hình ổn định, giữ chất lượng bề mặt vật thể ổn định là bao nhiêu. Nhờ đó, checkerboard rendering ra đời.

Tinhte_Game8.png

Cách render đồ hoạ này không khác nhiều so với native rendering mà mình mô tả ở trên. Tuy nhiên thay vì vẽ đủ gần 8,3 triệu điểm ảnh khi chơi game trên màn hình độ phân giải 4K, PS4 Pro sẽ chia những hình ảnh 3D do thuật toán của game dùng CPU vẽ ra thành 2 frame hình độc lập, rồi chia chúng thành dạng bàn cờ. Mỗi khung hình, máy sẽ render một nửa số điểm ảnh. Frame thứ nhất render một nửa, frame thứ hai render nửa số điểm ảnh còn lại và chèn những điểm ảnh đã render trong khung hình trước đó trám vào chỗ trống, cứ thế tiếp diễn đến frame n và n+1. Để dễ hiểu thì một ô 2×2 pixel sẽ lần lượt được render hai điểm ảnh chéo nhau, frame sau dùng lại điểm ảnh frame trước render ra.

Tinhte_Game9.png

Bản chất việc render như thế này khiến gánh nặng render áp lên phần cứng PS4 chỉ còn có một nửa. Phần tài nguyên phần cứng còn lại của máy sẽ được dùng để ứng dụng những hiệu ứng đồ họa khác như TAA, đổ bóng, hiệu ứng ánh sáng, hoặc upscale tiếp lên nhờ thuật toán nội suy khi checkerboard rendering không đạt được độ phân giải 4K, cái này mình sẽ nói rõ trong mục tiếp theo. Nhờ đó, GPU có yếu thì vẫn render được game sao cho ấn tượng nhất trên màn hình TV của anh em.

TLOUPII_Review_Screenshot_16.jpg

Ví dụ nổi bật nhất của checkerboard rendering 4K trên PS4 Pro là Detroit: Become Human. Trò này trên render ở độ phân giải native 1080p trên PS4, và checkerboard 4K trên PS4 Pro. Trong những cảnh chuyển động, khác biệt giữa vị trí vật thể và góc nhìn của hai khung hình sẽ được giải quyết bằng việc ứng dụng motion blur để làm mượt từng chuyển động của nhân vật, tránh tình trạng giật cục khi thưởng thức game.

Tinhte_Game10.jpg

Đến đây anh em sẽ thắc mắc, sao checkerboard rendering ngon như thế mà chỉ có PS4 hay Xbox One mới ứng dụng? Tình hình nó là như thế này. Vì render theo dạng bàn cờ, mỗi giây cỡ 30 đến 60 khung hình, nên mắt thường khi anh em chơi game sẽ gần như chẳng quan tâm đến tình trạng gọi là checkerboard artifact. Nhưng nó vẫn tồn tại. Anh em chỉ cần ấn nút chụp screenshot game lúc đang chơi, copy ra máy tính rồi zoom lên, đặc biệt là ở những vị trí tóc hoặc râu của nhân vật, rất dễ thấy khuyết điểm khi máy chơi game render theo kiểu checkerboard:

Tinhte_Game1.jpg

Câu hỏi tiếp theo là tại sao lại là render từng phần kiểu bàn cờ thay vì chia độ phân giải theo chiều dọc hoặc ngang? Bản thân checkerboard rendering cũng chỉ là một dạng trong những phương pháp “sparse rendering”. Nếu render theo kiểu chia dọc hoặc ngang thì rất dễ gặp hiện tượng rách hình như khi anh em xem những clip dạng interlaced thay vì progressive của truyền hình HD thế hệ cũ trên YouTube, hình ảnh bị kéo từng dải ngang trông như thế này:

Tinhte_Game11.jpg

Dù gì đi chăng nữa, chơi game mà render được ở độ phân giải native vẫn là ngon nhất. Nhưng khi phần cứng bị giới hạn về sức mạnh, thì PS4 Pro vẫn chứng tỏ cái đầu của các kỹ sư đồ họa đỉnh đến mức nào. Render xong xuôi, thì bây giờ là đến phần thêm mắm muối cho mỗi cảnh game, hoặc trong rất nhiều trường hợp là upscale nội suy tiếp lên độ phân giải mong muốn, ở đây là 4K, 3840×2160 pixel.

Khử răng cưa, upscale nội suy và 1001 những hiệu ứng hình ảnh khác

Hãy lấy ví dụ cái game mình vừa review với anh em, đó là Ghost of Tsushima. Trên PS4 Pro, nếu xuất hình ảnh lên màn hình 4K, phần cứng máy của anh em sẽ render game ở độ phân giải 1800p, nghĩa là 3200×1800 checkerboard (mỗi frame hình render 1600 x 900 = 1.440.000 pixel) rồi upscale nội suy lên 3840×2160 pixel, còn nếu muốn, game sẽ render native ở độ phân giải 1080p, phần cứng vẫn đủ sức chạy game ở tốc độ 30 FPS, thậm chí còn mượt hơn cả 1800p vì GPU không phải xử lý thêm chi tiết đồ họa trong màn chơi.

Ghost of Tsushima_20200720190026.jpg

Đến đây có lẽ anh em đã hiểu vì sao PS4 Pro yếu mà vẫn chơi được game trên màn hình 4K. Render game ở độ phân giải 1600×900 (hoặc thậm chí thấp hơn) mỗi khung hình nó quá dễ với một chiếc card đồ họa như GTX 1060, cũng là sản phẩm có sức mạnh tương đồng với GPU của PS4 Pro. Còn lại đều là những “ma thuật” mà các kỹ sư đồ họa ứng dụng để khắc họa thế giới ảo ấn tượng nhất.

Mỗi nhà phát triển game lại áp dụng những cách khác nhau để game hiển thị tốt nhất trên màn hình 4K. Nhưng trong số đó ấn tượng nhất phải là Naughty Dog và Guerrilla Games. The Last of Us Part II render ở độ phân giải 1440p, rồi upscale và ứng dụng Temporal Anti Aliasing để thế giới hậu thảm họa zombie trông vừa tràn đầy sức sống tự nhiên lại vừa đổ nát hoang tàn theo cách ấn tượng nhất. Thậm chí nếu chơi game bằng PS4 Pro xuất hình ảnh ra màn Full HD, game vẫn mặc định render ở độ phân giải 1440p rồi downsample để từng cành cây ngọn cỏ mịn nhất có thể. Ấy vậy mà toàn bộ game, gần như không gặp trường hợp nào sụt khung hình, ngoại trừ lúc lên thuyền chu du quanh những vùng ngập lụt. Naughty Dog ứng dụng Temporal Anti Aliasing rất xuất sắc, không thể tìm ra điểm nào để chê bai cả:

TLOUPII_Review_Screenshot_01.jpg

Còn trong khi đó Horizon Zero Dawn trên PS4 Pro render ở độ phân giải 2160p checkerboard y hệt như Detroit Become Human, và có đôi lúc tốc độ khung hình sụt xuống 28 29 FPS:

Tinhte_Game12.png

Ở thời điểm mình viết bài này, có hai trường hợp rất dễ so sánh chất lượng đồ họa của game trên PS4 Pro và PC, đó là Detroit Become Human và Death Stranding, vì cả hai đều có bản trên cả hai cỗ máy chơi game. Rất dễ thấy so với PC, các nhà phát triển game PS4 phải bỏ rất nhiều thời gian để trau chuốt tác phẩm của họ, phải hạ thấp chất lượng đồ họa ở những cảnh vật phía xa, gọi là giảm chất lượng Level of Details để tối ưu chất lượng hình ảnh của những gì ngay trước mắt anh em (nhân vật, nhà cửa, vũ khí, hiệu ứng cháy nổ,…). Còn với PC, tùy chọn đồ họa của anh em gần như là vô tận, chỉ cần chỉnh theo đúng khả năng của cỗ máy tính chơi game mà thôi.

Ấy nên mới nói, chơi game trên console vẫn có cái sướng khác so với PC. Một trong số đó là việc không phải lo lắng về cấu hình máy hay chỉnh chất lượng đồ họa, vì các hãng game đã làm hết giúp anh em rồi, chỉ việc mua game, tải về và bắt đầu chơi.

Rồi đến thời PS5 thì sao?

So với PS4 Pro, GPU của PS5 mạnh hơn rất nhiều lần, nhưng điều đó không đồng nghĩa với việc checkerboard rendering sẽ biến mất. Với những tiến bộ của công nghệ đồ họa máy tính hiện giờ, cố render game đủ 3840×2160 pixel chưa chắc đã là ý tưởng hay, khi các hãng game hoàn toàn có thể ứng dụng checkerboard để tăng chất lượng đồ họa, giải phóng sức mạnh phần cứng để thực hiện nhiều tác vụ khác như xử lý texture độ phân giải cao, mô hình vật thể ở xa vẫn rõ nét, hay thậm chí là kết hợp cả hai công nghệ ray tracing và screen-space reflection để từng cảnh game chân thực và chi tiết nhất.

Tinhte_Game13.jpg

Mà đấy, nói đến ray tracing và screen-space reflection cũng nên có một bài viết riêng giải thích vì sao ray tracing lại quan trọng đến thế.

Tinhte_Game14.jpg

Ấy vậy cho nên, cứ làm cách nào để thế giới game càng chi tiết càng tốt, càng đẹp càng tốt luôn là mục tiêu quan trọng nhất của các hãng game. Còn độ phân giải native, “có hay không có, không quan trọng.” Rồi chúng ta sẽ được chiêm ngưỡng những tác phẩm xuất sắc trên PS5 hiển thị trên màn hình 4K hoặc thậm chí 8K được hiển thị thông qua kỹ thuật checkerboard rendering. Rốt cuộc “native 4K” đôi khi sẽ là một cú lừa không hơn không kém vì mỗi khung hình đâu có render đủ 3840×2160 pixel đâu, bị chia đôi thành bàn cờ đấy chứ?

Nhưng đối với anh em mê chơi game trên console, điều đó có lẽ cũng không phải thứ khiến họ lo lắng. Game càng đẹp thì chơi càng đã tay đã mắt, hãng game ứng dụng công nghệ hình ảnh gì đôi lúc cũng không cần quan tâm.

Điều hiển nhiên là, độ phân giải mỗi khung hình phải render càng thấp, thì gánh nặng lên phần cứng càng nhẹ nhàng. Mục tiêu của những hãng game trước đây sẽ là đẩy hình ảnh lên độ phân giải cao nhất mà phần cứng hoàn toàn có thể chịu được, trong khi vẫn giữ được chất lượng đồ họa và vận tốc khung hình không thay đổi. Khi không render native được thì sẽ phải chuyển sang upscale nội suy để hiển thị lên TV hoặc màn hình hiển thị. Sau khi render, bước upscale hình ảnh sẽ nội suy tiếp những điểm ảnh còn thiếu của một cảnh game dựa trên sắc tố của những điểm ảnh lân cận .

Scores: 4 (13 votes)