Công nghệ - Sản phẩm

Game trên PC thăng hoa cùng card đồ họa

GPU ra đời và phát triển trở thành nhân tố then chốt để ngành game PC phát triển rực rỡ như ngày nay.

Ngành công nghiệp giải trí điện tử sẽ không thể đạt được những chuẩn mực như ngày nay nếu như không có sự hiện diện của những bộ xử lý đồ họa (Graphics Processing Unit). Kể từ khi Nvidia giới thiệu “GPU” đầu tiên - GeForce 256 vào năm 1999, chỉ trong vòng 18 năm, ngành công nghiệp Game đã phát triển vô cùng chóng mặt. Sự tiến hóa không ngừng của các thiết bị phần cứng máy tính đã góp phần biến PC trở thành công cụ chơi game số một thế giới hiện nay. Ông vua GTX 1080 Ti vừa trình làng Q1 năm 2017 có khả năng khử răng cưa lên đến 2915% so với một card đồ họa Nvidia ra mắt cách đây 10 năm – GeForce 8600 GT. 

DOOM (1996) và DOOM (2016) tạo ra những chuẩn mực về đồ họa trong làng giải trí điện tử.

Vậy điều gì đã làm cho ngành công nghiệp đồ họa phát triển mạnh mẽ đến vậy? 

Vào những năm 1970, thời điểm máy tính cá nhân vẫn còn là một cái gì đó khá xa vời, giới trẻ nước Mỹ thường tìm đến những trung tâm giải trí có bày những chiếc máy Arcade (máy chơi game bỏ xu) để thư giãn đầu óc. Mỗi chiếc máy Arcade là một tựa Game khác nhau, và càng nhiều máy Arcade tức là số trò chơi càng phong phú. Phải làm sao để họ có thể bán được nhiều máy Arcade?.

Điều làm đau đầu các nhà phát triển trò chơi là việc sử dụng RAM làm bộ đệm cho Frame vào thời điểm đó còn khá đắt đỏ, khiến cho giá thành máy bị đẩy cao, và giá cao có nghĩa là người mua – những chủ khu trung tâm giải trí, không thể lấy được nhiều máy về để thu hút thêm khách hàng. Việc chế tạo và đem vào máy Arcade một “video chip” có khả năng xử lý được hình ảnh để xuất ra màn hình, giá thành phải chăng hơn là điều các ông lớn ngành trò chơi điện tử vô cùng quan tâm.

Tựa game huyền thoại Space Invaders (1978) trên hệ máy Arcade

Fujitsu là hãng đầu tiên đưa ra bộ chuyển video MB1424 giúp tăng tốc thời gian vẽ hình trong Game, MB1424 cũng hỗ trợ màn hình hệ màu RGB và bắt đầu được đưa vào sử dụng trong các máy bỏ xu từ năm 1975 đến 1978.

Các ông lớn như Atari, NEC, Commodore cũng bắt đầu phát triển những Video chip tăng tốc vẽ hình tương tự như Fujitsu, đặt tiền đề cho việc phát triển những Video chip có giá thành rẻ - hiệu năng cao cho các máy chơi Game Arcade và máy điện tử Console sau này.

Thời điểm những năm 1990 đánh dấu cho thời kỳ vàng của những hệ máy PC, sự xuất hiện của Graphics User Interface (giao diện người dùng) có nghĩa là hầu như tất cả các thiết bị máy tính có màn hình tại thời điểm năm 1995 đều được tích hợp Video chip 2D ở trong.

Microsoft trong thời điểm này cũng bắt đầu phát triển những bộ thư viện đồ họa đầu tiên cho các lập trình viên, ví dụ như WinG graphics library cho phiên bản Windows 3.x hay sau này là DirectDraw trên Windows 95. Nhu cầu chơi những tựa game 3D thời gian thực trên những máy bỏ xu và máy điện tử cầm tay ở những năm 1990 phát triển rất mạnh, ông lớn Microsoft đã nhanh chóng nhận ra điều này và bắt đầu phối hợp với các hãng sản xuất phần cứng để đưa ra DirectX (một dạng thư viện hỗ trợ các tác vụ đồ họa) và trang bị trên các phiên bản hệ điều hành sau này của hãng, đưa PC trở thành nền tảng số một cho các nhà phát triển phần mềm Game.

Half life “Ma” (1998) Trò chơi gây nghiện bao thế hệ 9x

Nvidia vào năm 2000 đã trình làng chiếc card đồ họa GeForce 3, là sản phẩm đầu tiên cho phép các nhà phát triển “lập trình đổ bóng” (Shading), hỗ trợ khử răng cưa MSAA. GeForce 3 được trang bị 57 triệu bóng bán dẫn, và có khả năng vẽ được hơn 100 triệu hình khối trong vòng 1 giây. Và chỉ 2 năm sau đó, ATI cũng trình làng card đồ họa Radeon 9700, GPU đầu tiên hỗ trợ tăng tốc các ứng dụng Direct3D 9.0, các Pixels và các đỉnh Shaders nay có thể được tạo lại bởi các vòng lặp trong chương trình, và có thể giải quyết được các thuật toán sử dụng số thực dấu phẩy động nhanh hơn.

Card đồ họa Winfast GeForce 3 Ti 200

Vậy tại sao chúng ta không chế tạo một chiếc máy tính có GPU thật mạnh để xử lý đồ họa mà không cần sự can thiệp của CPU?

Việc tồn tại một chiếc máy tính chỉ có bộ xử lý CPU hay chỉ có bộ xử lý đồ họa GPU dường như là không thể ở thời điểm hiện tại, vì mỗi vi xử lý đều được thiết kế để phục vụ một công việc khác nhau. 

CPU được chế tạo có một bộ nhớ Cache lớn để giảm độ trễ xuống thấp. CPU còn đảm nhiệm việc thực hiện những lệnh nạp trước một cách tự động mà không cần Driver, vì khả năng phản hồi nhanh cho nên trong một hệ thống máy tính CPU điều khiển trực tiếp các thiết bị ngoại vi I/O (như phím, chuột,…) và cả GPU.  Trong khi đó GPU phải dựa vào CPU để chạy Kernel của chính nó, cần hệ điều hành và một Driver tương thích, và phải nhận chỉ thị từ CPU chứ không thể hoạt động được một cách độc lập. 

CPU tuy có độ trễ thấp nhưng lượng thông tin vào ra ít, không phù hợp để sử dụng vào các tính toán tác vụ phức tạp như vẽ đồ họa 3D, trong khi GPU được thiết kế để xử lý thông tin vào ra nhiều hơn CPU, việc sử dụng Cache nhỏ hơn trên GPU tạo khoảng trống cho các nhà sản xuất bổ sung thêm rất nhiều các ALU để phục vụ cho việc xử lý hàng nghìn luồng thông tin cùng một lúc.

Một khối cầu được “đổ bóng”, ngoài việc vẽ khối cầu, GPU sẽ phải tái tạo lại độ sáng tối của chủ thể dựa trên vị trí của nguồn sáng.
Farcry Primal (2016).
Farcry 2004.

Mỗi một Core trong CPU phải xử lý một hoặc nhiều thread phức tạp, trong khi đó thread của GPU đảm nhiệm tuy đơn giản nhưng lại có số lượng lớn, nhờ mang trong mình nhiều core xử lý hơn CPU mà GPU có khả năng đảm nhiệm và xuất ra một lượng lớn thông tin – điều cần thiết cho một số tác vụ từ đơn giản đến nâng cao như xuất hình ra màn hình máy tính, tính toán số học, nghiên cứu khoa học... Nvidia đã đưa ra thuật ngữ “Stream Processing”, một lượng lớn dữ liệu có thể được gộp lại, sử dụng cùng một chỉ thị,  và được xử lý bởi phần cứng. Bạn không cần phải quản lý từng thread một như CPU, giúp cho việc lập trình đa luồng với số lượng luồng lớn trở nên đơn giản hơn.

Sau khi nhận được chỉ thị từ CPU, GPU sẽ bắt đầu biến những dữ liệu nó nhận được thành hình ảnh để hiển thị trên màn hình máy vi tính. Công đoạn biến những dữ liệu nhà phát triển game đưa vào thành hình ảnh để hiển thị ra màn hình được gọi là “Kết xuất đồ họa”. Ở giai đoạn đầu, GPU sẽ dùng VRAM làm Frame Buffer, các đỉnh của hình khối được đánh dấu thông qua các tọa độ hình học, việc tìm ra đỉnh của hình khối sẽ nằm ở đâu được gọi là “Vertex Shader”. Sau đó, GPU tiếp tục tìm ra phương trình đường thẳng để nối các đỉnh Vertex lại với nhau, tạo thành hình khối hoàn chỉnh thông qua quá trình “Geometry Shader”. 

GTX 1080Ti ngày nay được trang bị lên đến 3584 CUDA Cores, hơn 12 tỷ bóng bán dẫn, 11GB VRAM chuẩn DDR5X tốc độ cao, và hỗ trợ công nghệ thực tế ảo VR

Rasterizer giúp biểu diễn các hình khối lên trên màn hình bằng việc “tô” các Pixel, có bao nhiêu pixel cần phải sử dụng. Việc tô hình bằng Pixel nảy sinh vấn đề là những đường thẳng chéo hay những đường cong lại rất khó để cho các ô của Pixel hiển thị. Gây nên tình trạng “răng cưa” thường thấy trên các trò chơi điện tử. Cho nên chúng ta lại có một phương pháp gọi là “Anti-aliased” (Khử năng cưa), một số thuật toán khử răng cưa như SSAA, MSAA, FXAA, CSAA… đều chung mục đích nhằm thay đổi độ đậm nhạt của các ô Pixel xung quanh chi tiết được tô màu, giúp giảm đi độ thô của hình.

CPU “điều kiển” GPU để Render khung hình, ta thấy có một độ trễ nhất định giữa lệnh gọi và tín hiệu trả về giữa CPU và GPU

Bước cuối cùng sẽ là Pixel Shader, GPU sẽ bắt đầu đổ họa tiết vào các hình khối được vẽ sẵn, và tính toán độ mạnh yếu của ánh sáng dựa vào nguồn sáng, hình dáng của khối. Họa tiết (texture) có thể là màu trơn, vân gỗ, vân đá, vải, các chất liệu trong đời thật,… được lấy mẫu về để giúp các hình khối hiển thị trong game có độ hiện thực nhất có thể. Từng hình khối sau khi trải qua quá trình tái tạo sẽ được sắp xếp vào với nhau để tạo thành 1 khung cảnh đồ họa giả lập, nơi mà các game thủ sẽ đắm chìm vào những cuộc chơi không hồi kết.

Ngành công nghiệp game đang ngày càng phát triển, và trong tương lai của các nhà phát triển game cho PC, bên cạnh về mặt cốt truyện, vẫn sẽ lựa chọn đồ họa đẹp như một yếu tố then chốt để thu hút giới game thủ hiện nay. Chúng ta vẫn sẽ thấy cuộc đua cấu hình không hồi kết, những game thủ của chúng ta sẽ còn phải đầu tư nâng cấp chiếc máy bàn ở nhà nếu còn muốn tiếp tục được trải nghiệm những tựa game mới nhất ở thiết lập đồ họa cao. 

PC World VN 05/2017

PCWorld

AMD Radeon, card đồ hoạ, GPU, NVIDIA, Tân Linh


      © 2021 FAP
        537,032       4