Anonim

Hãy đối mặt với nó: DirectX 11 và OpenGL đang già đi một chút. DirectX 11 đã được giới thiệu cùng với Windows 7 vào năm 2009 và OpenGL 4.0 tiếp theo một năm sau đó. Trong những năm phần mềm, các công nghệ này đã trở nên cổ xưa và phần cứng hiện tại mà chúng đang chạy thậm chí không có trên bảng vẽ khi các API đồ họa này được phát hành. Với sự mất kết nối rõ ràng này, ngành công nghiệp đang làm gì để có được với thời đại? Chà, chúng ta sẽ xem xét tương lai gần và xem, nhưng để bắt đầu, trước tiên hãy giải thích API là gì và chức năng của nó phục vụ cho chơi game.

API là gì?

Giao diện lập trình ứng dụng hoặc API là một tập hợp các giao thức và công cụ được sử dụng để xây dựng phần mềm. API đồ họa thực sự chỉ là một API chuyên dụng được xây dựng để giúp tạo đồ họa 3D dễ dàng hơn. API đồ họa giúp xây dựng hình ảnh 3D dễ dàng hơn, nhưng chúng cũng cho phép bạn yêu cầu API thực hiện điều gì đó (ví dụ: vẽ hình chữ nhật) và sau đó để API giao tiếp với phần cứng về cách hoàn thành nhiệm vụ này. Đây là lý do chính tại sao rất nhiều GPU khác nhau với phần cứng chuyên dụng đều có thể chạy cùng một trò chơi. Nếu không có sự tồn tại của API, cùng một trò chơi sẽ phải được viết theo nhiều cách khác nhau để giao tiếp với từng bộ phần cứng cụ thể. Điều này sẽ hạn chế nghiêm trọng các nhà sản xuất phần cứng và sẽ làm tăng đáng kể chi phí xây dựng trò chơi, một chi phí cuối cùng sẽ được chuyển cho người tiêu dùng cuối cùng.

Để làm cho lời giải thích ở trên dễ hiểu hơn một chút, tôi sẽ sử dụng một cách tương tự: Hãy nghĩ về API như một người quản lý trang web xây dựng. Công việc của anh ấy hoặc cô ấy là lấy ý tưởng của kiến ​​trúc sư và phá vỡ nó, lên lịch cho các phi hành đoàn cần ở đâu và khi nào, và đảm bảo rằng mọi người đều ở trên cùng một trang về những gì cần hoàn thành.

Hình 1: Biểu diễn đồ họa về cách thức hoạt động của API

API đồ họa hiện đang sử dụng

Bây giờ chúng tôi đã hiểu công việc của API đồ họa, hãy xem xét kỹ hơn về đội hình hiện tại. Người chơi chính trên thị trường hiện nay là DirectX của Microsoft, được giới thiệu từ năm 1995. Nó đã được cập nhật nhiều lần kể từ khi phát hành và được đưa vào hệ điều hành Windows của Microsoft. DirectX là một API đồ họa mà hầu hết mọi game phát hành cho PC đều hỗ trợ. Trong thực tế, nó phổ biến đến mức nó thực sự là tiêu chuẩn cho chơi game PC ngày nay. DirectX là độc quyền cho các sản phẩm Windows và Microsoft, điều không may làm cho nó trở thành một hệ thống rất kín. Xếp hàng tiếp theo là OpenGL, API đồ họa nguồn mở chính duy nhất. OpenGL được phát hành vào năm 1992 và đa nền tảng, có nghĩa là nó hoạt động với một số hệ điều hành bao gồm Windows, Linux và Mac OS. Cuối cùng, chúng ta có API đồ họa mới nhất, Mantle. Mantle được phát triển vào năm 2013 thông qua sự hợp tác giữa AMD và Dice. Mantle có sẵn trên Windows và chỉ dành cho GPU AMD.

Hình 2: So sánh DirectX 12 so với DirectX 11
Nguồn hình ảnh; Tín dụng hình ảnh: Intel

DirectX 12

DirectX 12 sẽ được phát hành cùng với Windows 10 vào mùa thu này và nhiều cải tiến mới đang được mời chào. Một trong những cải tiến lớn là hỗ trợ đa luồng tốt hơn nhiều. Nhiều công việc được trải đều trên nhiều lõi trên CPU cho phép sử dụng CPU tốt hơn và hiệu quả hơn nhiều. Nhiều lần DirectX 11 sẽ chỉ có một lõi CPU được tối đa hóa hoàn toàn trong khi các lõi khác đang ở trạng thái chờ. DirectX 12 hứa hẹn sẽ phân bổ khối lượng công việc này trên các lõi CPU đồng đều hơn, cung cấp cho các trò chơi nhiều năng lượng CPU hơn để làm việc. Cải tiến lớn tiếp theo được hứa hẹn bởi DirectX 12 là khả năng xử lý nhiều cuộc gọi rút thăm hơn. Một cuộc gọi bốc thăm xảy ra bất cứ lúc nào công cụ trò chơi muốn vẽ một cái gì đó trên màn hình. Yêu cầu của rất nhiều cuộc gọi rút thăm thường đánh thuế rất cao vào CPU. DirectX 12 được cho là có thể xử lý tới 600.000 cuộc gọi rút thăm. Để đặt điều này trong phối cảnh, DirectX 9 chỉ có thể xử lý 6.000 cuộc gọi rút thăm hoặc 1/100 so với những gì DirectX 12 sẽ có thể thực hiện.

Trong nhiều năm nay, việc chạy nhiều GPU ở chế độ SLI / Crossfire là có thể. Tuy nhiên, một trong những hạn chế lớn là VRAM được tích hợp trong các thẻ không xếp chồng lên nhau để tạo thành một nhóm lớn, liên tục. Ví dụ: nếu bạn có hai GPU, mỗi GPU có 2GB VRAM, bạn vẫn chỉ có 2GB VRAM vì mỗi thẻ phải có cùng một thông tin được lưu trữ trong đó. DirectX 12 hy vọng sẽ giải quyết vấn đề này bằng cách sử dụng AFR hoặc kết xuất khung thay thế. Thay vì mỗi phần kết xuất GPU của mỗi khung hình, giờ đây, GPU sẽ hiển thị toàn bộ từng khung hình. Điều này sẽ cho phép VRAM trên mỗi thẻ được sử dụng độc lập và hy vọng cho phép các thẻ có số lượng VRAM nhỏ hơn có thể tồn tại để chơi game lâu hơn. Có nhiều tính năng mới khác có trong DirectX 12 để đẩy đồ họa chơi game hơn bao giờ hết. Tuy nhiên, Microsoft vẫn đang khá im lặng về những tính năng mới này. Chúng tôi hy vọng sẽ biết nhiều hơn về chúng sớm khi việc phát hành API tiến gần hơn.

Hình 3: Chi phí API DirectX 12 bị giảm khi sử dụng CPU đa lõi.
Nguồn hình ảnh; Tín dụng hình ảnh: nVidia GeForce

Vulkan

Không có nhiều thông tin về Vulkan như về DirectX 12, vì nó vừa được công bố tại GDC 2015. Điều chúng ta biết là các nhà sản xuất OpenGL, Khronos Group, đã bỏ tên glNext để ủng hộ Vulkan. Vulkan dường như bắt nguồn từ Mantle, mà tôi đã đề cập trước đó trong bài viết. Hơn nữa, có vẻ như AMD đang đưa những phần tốt nhất của Mantle lên bàn cho Vulkan trong mối quan hệ hợp tác với Khronos Group. Vulkan được cho là có nhiều ưu điểm giống với DirectX 12, nhưng nó không bị ràng buộc với một nền tảng duy nhất như Windows. Thay vào đó, nó sẽ có sẵn trên nhiều nền tảng khác nhau, bao gồm cả Linux và thậm chí cả thiết bị di động. Các trình điều khiển Vulkan cho cả Windows và Linux sẽ hoàn toàn là nguồn mở không giống như DirectX. Vulkan sẽ cải thiện đa luồng, và do đó sử dụng năng lượng CPU tốt hơn hiện nay bằng cách trải đều khối lượng công việc trên nhiều lõi CPU. Như đã đề cập trước đây, việc giảm tải cho CPU sẽ cho phép GPU không bị tắc nghẽn dễ dàng như hiện tại. Điều này sẽ cung cấp một tốc độ khung hình khá đáng kể trong khi chơi game. Nguồn 2, được Valve công bố gần đây, sẽ là công cụ trò chơi mới đầu tiên hỗ trợ đầy đủ cho Vulkan, mặc dù tôi chắc chắn nhiều thông tin khác sẽ được công bố trong tương lai gần. Dota 2, một trò chơi được biết đến là chuyên sâu về CPU, đã cho thấy chạy trong Nguồn 2 với API Vulkan mới sử dụng đồ họa tích hợp của Intel trên CPU. Đây là điều chắc chắn sẽ không được mong muốn trong DirectX 11, nhưng với Vulkan, trò chơi dường như duy trì tốc độ khung hình hợp lý xuyên suốt. Dan Baker, một nhà phát triển trò chơi Oxide, thậm chí đã nói rằng, cho đến khi các nhà sản xuất GPU kết hợp với nhau và tạo ra GPU nhanh hơn mười lần so với hiện tại, chúng ta không thể tối đa hóa CPU CPU. Đây là tin tốt cho những người chạy CPU chậm hơn hoặc những người có nhiều mã lực GPU hiện tại bởi vì điều đó có nghĩa là hiệu suất tốt hơn có thể đạt được trên cùng một bộ phần cứng.

Hình 4: Sơ đồ Hiển thị lợi ích của Vulkan (giảm tắc nghẽn đối với GPU).
Nguồn hình ảnh; Tín dụng hình ảnh: Khronos

Điều này có ý nghĩa gì đối với tương lai của trò chơi?

Chà, trong một thời gian dài, sức mạnh GPU đã tăng với tốc độ nhanh hơn nhiều so với sức mạnh của CPU. Năm năm trước, Intel thậm chí còn tuyên bố rằng một số GPU nhanh hơn 14 lần so với CPU của chính họ. Những thử nghiệm đó đã được thực hiện bằng cách sử dụng CPU nVidia GTX 280 so với CPU Intel i7 960 - hiện được coi là phần cứng tương đối lỗi thời. Khoảng cách giữa nVidia GTX Titan X (hoặc thậm chí là nVidia GTX 980) và sức mạnh CPU chính hiện tại - CPU Intel i7-4790k - nên lớn hơn nhiều. Điểm tôi đang cố gắng thực hiện là chúng ta bắt đầu thấy ngày càng nhiều trò chơi đạt hiệu suất cao nhờ CPU. Hỏi bất cứ ai có màn hình tốc độ làm mới cao, việc duy trì 100 + khung hình / giây với CPU hiện tại trong một số trò chơi khó đến mức nào. Nói một cách thẳng thắn, sẽ chỉ khó khăn hơn nếu không có các API mới này và khả năng sử dụng sức mạnh của CPU hiệu quả hơn. Việc giới thiệu các API mới này có thể có nghĩa là một bước tiến lớn về hiệu suất đối với hầu hết mọi người. Hơn nữa, nó cũng sẽ cho phép các nhà phát triển xây dựng các trò chơi chuyên sâu về CPU nhiều hơn chúng ta hiện có. Ví dụ, hãy tưởng tượng một trò chơi như Assasins Creed có hàng ngàn NPC trên màn hình cùng một lúc, tất cả tương tác với nhau và nhân vật của bạn trong khi bạn đang chuyển vùng thành phố. Hoặc các trò chơi như Star Citizen, nơi bạn cần CPU rất mạnh để có được tốc độ khung hình ổn định và chấp nhận được, trong tương lai gần có thể yêu cầu CPU trung bình tốt nhất và GPU mạnh để giữ tốc độ 60fps tốt.

Cuối cùng, đây là một thời gian rất thú vị để trở thành một game thủ. Khi các API đồ họa mới này được phát hành, chúng ta có thể sẽ thấy bước nhảy lớn nhất trong công nghệ chơi game trong một thời gian dài. Chúng ta hãy hy vọng rằng các API này có thể sống theo sự cường điệu mà chúng đã tự tạo ra.

Api đồ họa mới và tương lai của chơi game pc