pegasus3390
Well-Known Member
Gần đây, chúng ta đã đề cập rất nhiều về thực tế ảo, từ các thiết bị phát hình ảnh VR như Oculus Rift hoặc HTC Vive cho đến các phần cứng và công nghệ hỗ trợ cho lĩnh vực này ngày càng nhiều hơn. Khi nói về trải nghiệm VR, chúng ta đang nói đến 2 màn hình có độ phân giải 1080x1200 chạy ở tốc độ 90 fps trở lên (cho dễ hình dung thì người ta đang bắt 1 cái máy tính “kéo” 1 màn hình độ phân giải full HD chạy ở tốc độ 180 fps). Nếu khung hình thấp hơn mức này thì chúng ta đều biết hiện tượng chóng mặt sẽ xảy ra với người dùng và trường hợp tồi tệ nhất là họ sẽ sớm nhìn thấy các món họ vừa ăn xong.
Cách tốt nhất để giải quyết vấn đề này là tăng cường khả năng đồ họa trên các thiết bị chạy VR càng nhiều càng tốt. Tuy nhiên, phần cứng hiện nay vẫn rất “non nớt” trên địa phận của thực tế ảo.
Mặc dù không thể đẩy mạnh vấn đề phần cứng do các giới hạn vật lý và công nghệ nhưng cả AMD lẫn Nvidia đều có những phương pháp sử dụng phần mềm để có thể tận dụng được tối đa phần cứng đồng thời đưa thêm nhiều khung hình xuất ra từ GPU. AMD gọi công nghệ của họ là LiquidVR, trong khi Nvidia đặt tên là VRWorks. Các công nghệ này bao gồm nhiều phần mềm với các tính năng nhằm hỗ trợ các nhà phát triển đồng thời mang lại nhiều lợi thế cho người dùng các thiết bị thực tế ảo.
Chúng ta thử tìm hiểu xem AMD và Nivida đã thực hiện những gì với phần mềm của họ để có thể tạo ra trải nghiệm tốt hơn với phần cứng tương đối giới hạn như hiện nay.
Hỗ trợ nhiều GPU
Đây là tính năng “cơ bản” nhất mà không cần tìm hiểu chúng ta cũng biết dù là với thực tế ảo hay những cỗ máy tính truyền thống cho game. Cả AMD lẫn Nvidia đều cung cấp khả năng hỗ trợ nhiều GPU cho VR.
Nếu như trên các game truyền thống thì việc hỗ trợ nhiều card đồ họa đơn giản chỉ là việc thêm hoặc bớt hoặc giúp mọi thứ mượt hơn, thì việc chạy nhiều card đồ họa trong VR rõ ràng hơn nhiều. Nó sẽ phân tách nhiệm vụ cho GPU xử lý hình ảnh cho từng mắt điều đó không chỉ làm cho hình ảnh chuyển động trơn tru hơn mà chất lượng hình ảnh cũng được cải thiện đáng kể.
Công nghệ LiquidVR của AMD hỗ trợ 2 hoặc 4 GPU Radeon trong khi đó VR SLI của Nvidia đã chạy ổn định với các bài kiểm tra hiệu năng và cả trên chiếc HTC Vive. Tuy nhiên, công nghệ là thế nhưng chúng ta vẫn cần sự hỗ trợ của các nhà phát triển để đưa nó vào các tựa game và mặc dù việc hỗ trợ VR SLI của Nvidia đã có sẵn trong bộ VRWork nhưng không có game nào dành cho Oculus đã ra mắt hỗ trợ công nghệ này. Điều tương tự cũng xảy ra với AMD. Mọi thứ vẫn chỉ là bình minh của VR.
Công nghệ Asynchronous Shaders của AMD
AMD rất tự hào giới thiệu công nghệ Asynchronous Compute Engine tích hợp sẵn vào trong kiến trúc GPU GCN của hãng và điển hình là dòng card Radeon hiện nay cho phép linh loạt trong các tác vụ tính toán lẫn đồ họa. Và tính năng “Asynchronous Timewarp” trên Oculus Rift có được chính nhờ công nghệ này của AMD.
Asynchronous Timewarp là kỹ thuật tạo ra những khung hình tạm khi mà tốc độ khung hình không ổn định. Về cơ bản thì Timewarp sẽ kiểm tra vị trí của bộ phát VR theo từng thời điểm và khi người dùng di chuyển, tính năng này sẽ tinh chỉnh nhẹ hình ảnh để phù hợp với vị trí tiếp theo nhờ đó giảm bớt hiện tượng judder.
Video dưới đây sẽ cho bạn thấy rõ hơn cách thức mà công nghệ này hoạt động.
[video=youtube;WvtEXMlQQtI]https://www.youtube.com/watch?v=WvtEXMlQQtI[/video]
Chính nhờ Asynchronous Compute Engine bên trong các GPU Radeon cho phép các card đồ họa của AMD thực hiện Timewarp mà không bị “xung đột” với việc xử lý đồ họa bình thường, lợi thế là có thể đưa thêm vài khung ảnh trong một phần triệu giây. Và đó không đơn giản chỉ là vấn đề 1 hoặc 2 khung ảnh thêm vào, đó là sự khác biệt giữa “mượt mà” và tồi tệ.
Việc hỗ trợ công nghệ này cũng được tích hợp sẵn vào bộ phần mềm phát triển của Oculus nhờ đó các nhà phát triển dễ dàng có được nhiều lợi thế hơn khi kích hoạt tính năng này.
Công nghệ Multi-Res Shading của Nvidia
Các công cụ trong bộ VRWorks của Nvidia đã được đưa vào rất nhiều engine để tạo ra nội dung VR, bao gồm cả Unity Engine, Max Play, Unreal Engine và nhiều tính năng nữa chưa được giới thiệu. Tuy nhiên, tính năng đáng kể đến chính là Multi-Res Shading. Công nghệ này giúp giảm tải lượng thông tin mà GPU cần xử lý từ đó tăng tốc độ khung hình.
Card đồ họa thông thường sẽ chuyển tải hình ảnh dưới dạng phẳng như trên máy tính. Trong khi đó trên thiết bị VR nhờ có 2 thấu kính phía trước mắt tạo ra cảm giác về không gian lẫn khoảng cách khi nhìn dẫn đến hình ảnh đến mắt sẽ có dạng giống hình oval giống dưới đây.
Công nghệ của Nvidia sẽ không xử lý toàn bộ khung hình mà chia thành các khu vực khác nhau. Trung tâm hình ảnh, cũng là nơi mắt sẽ tập trung vào nhiều nhất cũng là nơi hình ảnh ít bị “méo” nhất, sẽ được xử lý đầy đủ để tạo ra độ phân giải hình ảnh tối đa. Trong khi đó phần rìa của màn hình thì việc render sẽ giảm chất lượng xuống. Với tổng số điểm ảnh cần xử lý giảm đi rất nhiều thì hiệu năng của hệ thống sẽ tăng lên đáng kể.
Khi giảm 30% số pixel cần xử lý, không có sự khác biệt có thể nhận ra khi bật hoặc tắt tính năng này, tuy nhiên nó giảm đến 50% khối lượng công việc công việc của bộ vi xử lý. Các nhà phát triển cũng khá hứng thú với công nghệ này khi Sólfar Studios tích hợp vào Everest VR hoặc InnerVision Games đưa công nghệ này lên trò chơi Thunderbird: The Legend Begins