Ứng dụng của CUDA trong các lĩnh vực công nghệ (4)

Một phần của tài liệu NGHIÊN CỨU CÁC GIẢI THUẬT SONG SONG TRÊN HỆ THỐNG XỬ LÝ ĐỒ HỌA GPU ĐA LÕI (Trang 48 - 53)

2.2.3.1. CUDA cho ngành công nghiệp trò chơi

Một trong những ví dụ hay nhất về sự thành công của công nghệ CUDA trong ngành công nghiệp giải trí với lĩnh vực trò chơi. Hình 4 cho chúng ta thấy một cảnh trong trò chơi dành cho máy để bàn được đánh giá cao nhất kể từ năm 2007 cho đến nay có tựa đề “Batman: Arkham Asylum”. Trò chơi này có điểm metascore là 92 và điểm người dùng là 9.4. Trong cảnh ở hình sau, game thủ có thể tận hưởng nhiều kiểu hiệu ứng hình ảnh, chẳng hạn như các màn khói phản ứng lại Batman, các bức tường bị nổ tung với các nhân vật trong game.

Tất cả những thứ tuyệt vời này có được là nhờ bộ công cụ PhysX SDK và khung hình làm việc có khả năng mở rộng động trên nhiều nền tảng có liên quan với nó gọi là APEX, cả hai đều do NVIDIA cung cấp. Đây là những công cụ đầy sức mạnh trong bộ các engine AXE, mà chúng ta đã nói đến ở trên, giành riêng cho vật lý trong game, hay nói cách khác, được thiết kế để xử lý các di chuyển phát sinh động và tương tác của các đối tượng trong từng cảnh game một.

Vật lý trong game khiến cho tính năng đồ họa của một trò chơi trở nên sống động, và chẳng bao lâu nữa chuyện hiển thị cảnh như phim với thời gian thực trong game sẽ trở thành hiện thực với sự hỗ trợ của PhysX và APEX. Hình 5 dưới đây mô tả một qui trình hiển thị hình ảnh trong game đã được đơn giản hóa, vốn thường được sử dụng trong ngành này.

- 37 -

Hình 1.1. PhysX và quy trình hiển thị hình ảnh trong game

Khi không có mối quan tâm về các tác động vật lý trong game, các đối tượng cùng với kịch bản có liên quan sẽ lèo lái game engine, rồi bộ phận này sẽ cung cấp dữ liệu cho Render Engine, để nó kết xuất thông tin cần thiết ra hệ thống con đồ họa với khả năng hiển thị dựa trên DirectX hay OpenGL, và cuối cùng chuyển mọi thứ ra GPU cho việc hiển thị cảnh game trên mành hình của game thủ.

Mặc khác, khi các yếu tố vật lý được thêm vào trong kịch bản vận hành game với sự hiện diện của hệ thống con PhysX vốn đã được tối ưu hóa dựa trên CUDA ở bên trái của qui trình tạo game thông thường, hệ thống này sẽ liên lạc với phần lõi của game engine nhằm cung cấp một tương tác hay chiều – các yếu tố vật lý sẽ có tác động đến vị trí của các đối tượng trong game, và cũng cập nhật luôn tất cả các yếu tố động của cảnh game hiện tại. Hệ thống này lấy thông tin về tính chất vật lý của các đối tượng trong cảnh từ cơ sở dữ liệu game cốt lõi, và thậm chí có thể làm việc trực tiếp với module Render Engine trong một vài hiệu ứng, tùy thuộc vào sự tương tác với game engine. Hơn thế nữa, hệ thống A/I cũng dùng được hệ thống con vật lý này cho việc phát tia và thực hiện các dự đoán có tính động.

Vậy thì những kiểu hiệu dứng nào PhysX có thể mang lại cho thế giới ? Câu trả lời là khá nhiều thứ, như được tóm tắt trong hình 6.

- 38 -

Hình 1.2. Các tính năng do bộ PhysX SDK mang lại cho hiệu ứng trong game

Trong hình này, cột đầu tiên bên trái tựa đề “Game World Entites” ( các thực thể trong thế giới gam) cho chúng ta thấy một danh sách khả dĩ các thực thể đã được sắp xếp theo thang mức độ chuyển động trực quan ( có nghĩa là mức độ chi tiết tại đó mô phỏng cần được thể hiện). Cột thứ hai với tựa đề “Physical Characteristic” ( các đặt tính vật lý có liên quan của các thực thể game tương ứng. Ở đây, những đối tượng ở dạng khối rắn sẽ có kích thước nhỏ dần khi đi từ dưới lên. Ở mức cao nhất chúng cần phải được tạo hoạt cảnh liên tục. Và ngay khi có sự phá hủy xảy ra, các thực thể có mức độ chất lượng hình ảnh tinh tế cao cần được tạo ra từ những thực thể có mức độ chất lượng hình ảnh thô hơn. Cột cuối cùng với tựa “PhysX Representation” (đại diện tương ứng trong PhysX). Chỉ ra cách thức đối tượng sẽ được mô tả theo ngôn ngữ PhysX. Những đối tượng sẽ được mô tả theo ngôn ngữ PhysX. Những đối tượng ở trên cùng của cột là các ứng cử viên rất tốt cho việc song song hóa, chẳng hạn như đặc trưng dòng chảy dạng hạt.

- 39 -

Bộ công cụ PhysX SDK hiện nay đã có trên hầu hết các nền tảng máy game thông dụng, từ XBOX 360 sang PlayStation 3 sang Wii rồi đến NVIDIA GPU, với hơn 150 tựa game mới trên thị trường. Bạn có thể vào trang

http://www.nvidia.com/physX để thưởng thức những PhysX mang lại cho game thủ.

2.2.3.2. CUDA cho các ứng dụng video số

Có thể nói CUDA rất thành công trong với xử lý video. Hình 7, cho thấy rất nhiều ứng dụng video số hóa dựa trên CUDA, chẳng hạn như cải tiến chât lượng hình ảnh video với phần mềm vReveal của MotionDSP, mở rộng độ phân giải DVD với SimHD của ArcSoft, biên tập video nhanh chóng và đơn giản với SuperLoiloScope “Mars” của Loilo, hoặc chuyển đổi định dạng video nhanh chóng với chất lượng cao bằng công cụ Badaboom do Elemental Technologies tạo ra, v.v…

Hình 2.1. Các thành tựu CUDA đã đạt được với các ứng dụng cho người dùng thông thường

Giá trị “xx” trong hình chính là tỉ lệ tăng tốc khi chúng ta so sánh hiệu năng giữa phiên bản chạy trên GPU và CPU của cùng một phần mềm. Nền tảng GPU được dùng trong so sánh là CUDA chạy trên card NVIDIA GTX285, còn của CPU

- 40 -

là chip Intel Core 2 Duo E8200. Chúng ta hãy điểm qua một vài ví dụ trong số các ứng dụng hay này.

vReveal đến từ MotionDSP là phần mềm cải thiện chất lượng hình ảnh như: làm rõ nét, điều chỉnh độ tương phản, và ổn định hóa (xóa run) các video. vReveal thường cần đến các hệ thống CPU đa chip đắt tiền để hiển thị video một cách chậm chạp. Nhưng giờ đây với CUDA GPU đã có thể thực hiện nó theo thời gian thực đến khoảng 5 lần nhanh hơn so với CPU. MotionDSP còn cung cấp một cung cấp một phiên bản cao cấp hơn, gọi là Ikenna, cho lĩnh vực tình báo và điều tra pháp luật.

Phần mềm SimHD của ArcSoft là một ứng dụng lý thú khác mà bạn không thể bỏ qua. Nó là một plug-in cho phần mềm chiếu video ArcSoft TotalMedia Theater, với mục đích chuyển đổi các file multimedia và DVD với độ phân giải chuẩn sang dạng có độ phân giải cao, mang lại cho người xem hình ảnh rõ ràng hơn, sống động hơn theo thời gian thực.

Trong thời gian gần đây, sự phát triển của những thiết bị di động có khả năng thu dữ liệu hình ảnh, video với chất lượng cao đã khiến con người thỏa mái hơn trong việc thưởng thức âm nhạc, phim, hình chụp cá nhân ở mọi lúc, mọi nơi. Tuy nhiên, phong cách giải trí mới trong cuộc sống hàng ngày này sẽ không thể có được nếu bạn không có những nỗ lực của riêng mình. Chẳng hạn như bạn phải tốn nhiều thời gian để chuyển đổi nhạc, phim trong máy để bàn của mình sang chiếc iPod Touch yêu quý và ngược lại. Và quá trình chuyển đổi đó hoàn toàn không đơn giản, nếu như bạn chỉ là một người sử dụng máy tính bình thường. Trong trường hợp đó, phần mềm Badaboom của Elemental Technologies có thể giúp bạn rất nhiều. Đó là bộ chuyển đổi media nhanh nhất và được thiết kế đầu tiên trên thế giới để chạy tối ưu với GPU và CUDA của NVIDIA. Khi so sánh bộ chuyển định dạng cuariTunes, nó có thể nhanh hơn đến 20 lần, hoặc tối thiểu cũng nhanh hơn 2 đến 3 lần ngay khi sử dụng CPU nhanh nhất và đắt tiền Core i7 của Intel.

- 41 -

Hình 2.2. Bodaboom bộ chuyển đổi media nhanh nhất đầu tiên trên thế giới

Hình 2.8 cho bạn thấy giao diện của nó rất đơn giản, thân thiện, dễ dùng. Có thể dùng thử tại trang http://www.badaboomit.com.

Hình 2.3. CUDA với ứng dụng hình ảnh cho người dùng bình thường

Hình 2.9 cho biết số lượng các ứng dụng CUDA bắt đầu xuất hiện từ năm 2008 và phát triển mạnh về số lượng và chất lượng theo thời gian.

Một phần của tài liệu NGHIÊN CỨU CÁC GIẢI THUẬT SONG SONG TRÊN HỆ THỐNG XỬ LÝ ĐỒ HỌA GPU ĐA LÕI (Trang 48 - 53)