Header ads

Header ads
» »

Shader lúc chơi game PC có tác dụng gì? Vì sao khởi động game lần đầu phải chờ tải shader?

Hôm 20/8, tại Gamescom 2025 đang diễn ra ở Đức, Microsoft đưa ra tuyên bố rằng họ đang tìm cách giải quyết vấn đề gây đau đầu đối với nhiều anh em chơi game PC: Đơn giản hóa và tiêu chuẩn hóa quá trình được gọi là biên dịch shader (shader compilation).

Cụ thể hơn, vào tháng 9 tới, Microsoft sẽ phát hành bộ công cụ AgilitySDK. Theo tuyên bố của Microsoft, với AgilitySDK, thời gian kể từ khi tải xuống trò chơi đến lúc có thể bắt đầu chơi có thể giảm tới 85%.

Tiêu chuẩn hóa shader


Shader, những dòng code hướng dẫn để hiển thị pixel khi chúng di chuyển qua quy trình xử lý được tối ưu hóa cho cấu hình phần cứng cụ thể của anh em. Một trò chơi vận hành trên máy Xbox hay PS5 "biết" cụ thể cấu hình bên trong của máy console đó, vì cả triệu máy đều có chung một cấu hình. Đối với game PC, shader phải được tối ưu hóa cho từng cấu hình cụ thể, bao gồm cả trò chơi, GPU và cả phiên bản driver của GPU.

2022-5-23-637888928980636971-cac-hang-pc-gaming-noi-tieng-1.webp

Điều này đồng nghĩa với việc, game đòi hỏi không chỉ tải về máy, mà còn phải biên dịch shader cho phần cứng của riêng anh em, điều mà bạn có thể thấy hiển thị trên màn hình tải của trò chơi. Mặc dù các hướng dẫn này sau đó được lưu trữ trên PC của bạn, nhưng đây vẫn là thời gian bạn phải chờ đợi trước khi có thể chơi game.

8750721-ROG-Ally1.jpg

Đây là một trong những tính năng Microsoft đang thêm vào ROG Xbox Ally và Ally X. Vì cấu hình của những chiếc máy PC handheld này là cố định, shader có thể được tải xuống như một phần của trò chơi. Microsoft gọi điều này là "cung cấp shader nâng cao".

Để làm được điều này, Microsoft đang làm một việc, thu thập dữ liệu shader từ một trò chơi ở định dạng chuẩn hóa, được gọi là State Object Database - SODB. Microsoft cho biết họ đã hợp tác với các đối tác phần cứng quan trọng để tách trình biên dịch shader khỏi trình điều khiển đồ họa và kết hợp dữ liệu trò chơi trong SODB với trình biên dịch trên đám mây để tạo thành Precompiled Shader Database - PSDB.

[​IMG]

Cơ sở dữ liệu này sẽ được tải xuống cùng với trò chơi, do đó trò chơi về cơ bản có thể "tra cứu" các shader cần thiết trong cơ sở dữ liệu và khởi chạy chúng ngay lập tức.

"Bây giờ, khi một trò chơi chạy lần đầu tiên, nó sẽ thấy tất cả các shader cần thiết đã có sẵn trong bộ nhớ đệm của Windows và có thể bỏ qua bước biên dịch đó trên thiết bị chơi game", Microsoft nói. "Nếu một thiết bị nhận được bản cập nhật driver, chúng tôi sẽ phát hiện được điều đó, và tự động cập nhật bộ nhớ đệm shader."

Thế shader là gì?


Hiểu một cách cơ bản, shader là những khối code lập trình. Trong thế giới đồ họa 3D, mỗi shader là một phần mềm nho nhỏ thiết kế phục vụ một nhiệm vụ rất cụ thể. Nó có thể dùng thay đổi hình dáng hoặc vị trí một đa giác, lên bố cục texture nền phủ lên một vật thể, hay tính toán những giá trị để phục vụ các shader khác.

Quảng cáo



Khi những API đồ họa như Direct3D hay OpenGL bắt đầu hỗ trợ shader, thời điểm game đồ họa 3D bắt đầu phổ biến, những shader này rất thô sơ và đơn giản. Lấy ví dụ những pixel shader ra mắt trên PC hơn 20 năm về trước, chỉ có đủ không gian viết 4 lệnh phủ texture lên vật thể, và 8 lệnh tính toán. Còn bây giờ, với những phiên bản API mới, shader không hề có giới hạn trong tổng số lệnh được viết trong những dòng code lập trình.

6349523-Tinhte-PC1.jpg

Mỗi API lại dùng một khái niệm riêng khi mô tả các shader, nhưng có thể quy chúng vào 7 dạng chính. Bốn dạng đầu, vertex, geometry, hull và domain đảm nhiệm việc xử lý đa giác, tạo ra những bộ khung sườn thế giới ảo, trước khi áp texture hay màu sắc lên.

6349525-Tinhte-PC2.jpg

Kế đến, phủ màu cho thế giới ảo 3D là pixel shader, và gần đây là ray shader. Chúng làm những phép tính phức tạp để xác định cách ánh sáng được mô phỏng trong game, hay texture vật thể và ánh sáng khi kết hợp với nhau sẽ tạo hiệu ứng ra sao. Cuối cùng là compute shader, một dạng code tính toán logic đa dụng, không phụ thuộc cố định vào nhu cầu xử lý đồ họa.

Vì sao giờ mở game phải ngồi đợi biên dịch shader?

Quảng cáo


Anh em lập trình viên viết code xong, dù là ngôn ngữ nào đi chăng nữa, cũng phải ấn nút compile để biến những dòng code trở thành lệnh nhị phân mà phần cứng máy tính có thể hiểu và xử lý. Shader cũng vậy, chúng được viết dựa trên những ngôn ngữ lập trình cụ thể, cơ bản để dễ thực hiện và để con người dễ hiểu shader nào làm công việc gì.

6349526-Tinhte-PC4.jpg

Với một trò chơi đồ họa 3D hiện đại, mọi thứ khác hoàn toàn. Di chuyển trong thế giới mở rộng lớn và đầy chi tiết, hay chuyển sang một màn chơi khác, hay chiến đấu với một đối thủ mới toanh đều bắt trò chơi tải những shader mới từ ổ cứng, rồi compile chúng để CPU và GPU biết phải làm gì tiếp theo. Hiện tại, một trò chơi cần tới hàng nghìn shader khác nhau.

5577666-cover-lg-evo.jpg

Game trên máy console như PS5 và Xbox Series X, do cấu hình không có chút thay đổi gì giữa hàng chục triệu máy, nên máy đều thực hiện quá trình shader compilation trước cả khi anh em bắt đầu chơi. Console làm được điều này vì cả chục triệu máy bán ra thị trường đều giống nhau chằn chặn, không có một chút sai khác gì về cấu hình phần cứng bên trong cả. Các hãng làm game cho console chỉ việc tối ưu trò chơi cho một dạng CPU và GPU duy nhất, driver vận hành chúng cũng không thay đổi và nâng cấp quá thường xuyên.

8629246-MSI-5080-Vanguard-23.jpg

Điều này trên PC là hoàn toàn bất khả thi.

Không một dàn PC nào có linh kiện giống nhau 100%, từ CPU, chipset, GPU cho đến cả RAM và ổ cứng. Đấy còn chưa kể tới khác biệt về hệ điều hành nữa. Hoàn toàn không thể compile sẵn shader cho một game PC, vì chạy ổn trên cấu hình này sẽ gặp lỗi trên cấu hình khác.

Khóa học Machine Learning cơ bản- Khoa học dữ liệu - AI
==***==

Khoá học Quản trị Chiến lược Dành cho Lãnh đạo Doanh nghiệp

Nhấn vào đây để bắt đầu khóa học

==***==
Nơi hội tụ Tinh Hoa Tri Thức - Khơi nguồn Sáng tạo
Để tham gia khóa học công nghệ truy cập link: http://thuvien.hocviendaotao.com
Mọi hỗ trợ về công nghệ email: dinhanhtuan68@gmail.com
--- 

Khóa học Hacker và Marketing từ A-Z trên ZALO!

Khóa học Hacker và Marketing từ A-Z trên Facebook!

Khóa đào tạo Power BI phân tích báo cáo để bán hàng thành công

Bảo mật và tấn công Website - Hacker mũ trắng
Hacker mũ trắng
KHÓA HỌC LẬP TRÌNH PYTHON TỪ CƠ BẢN ĐẾN CHUYÊN NGHIỆP

Khóa học Lập trình Visual Foxpro 9 - Dành cho nhà quản lý và kế toán

Khóa học hướng dẫn về Moodle chuyên nghiệp và hay
Xây dựng hệ thống đào tạo trực tuyến chuyên nghiệp tốt nhất hiện nay.



Khóa học AutoIt dành cho dân IT và Marketing chuyên nghiệp

Khoá học Word từ cơ bản tới nâng cao, học nhanh, hiểu sâu


Khóa học hướng dẫn sử dụng Powerpoint từ đơn giản đến phức tạp HIỆU QUẢ
Khóa học Thiết kế, quản lý dữ liệu dự án chuyên nghiệp cho doanh nghiệp bằng Bizagi
Khoa hoc hay
Khóa học Phân tích dữ liệu sử dụng Power Query trong Excel

Khóa học Lập trình WEB bằng PHP từ cơ bản đến nâng cao

Khóa học Phân tích dữ liệu sử dụng TableAU - Chìa khóa thành công!
Nhấn vào đây để bắt đầu khóa học


Khóa học Phân tích dữ liệu sử dụng SPSS - Chìa khóa thành công!


Khóa học "Thiết kế bài giảng điện tử", Video, hoạt hình 
kiếm tiền Youtube bằng phần mềm Camtasia Studio
Khóa học HƯỚNG DẪN THIẾT KẾ VIDEO CLIP CHO DÂN MARKETING CHUYÊN NGHIỆP
Xây dựng website​​​​
HƯỚNG DẪN THIẾT KẾ QUẢNG CÁO VÀ ĐỒ HỌA CHUYÊN NGHIỆP VỚI CANVA
Hãy tham gia khóa học để trở thành người chuyên nghiệp. Tuyệt HAY!😲👍
Khoa hoc hay
MICROSOFT ACCESS



GOOGLE SPREADSHEETS phê không tưởng
Khoa hoc hay
Khóa hoc lập trình bằng Python tại đây

Hãy tham gia khóa học để biết mọi thứ

Để tham gia tất cả các bài học, Bạn nhấn vào đây 

Khóa học lập trình cho bé MSWLogo
Nhấn vào đây để bắt đầu học
Nhấn vào đây để bắt đầu học


Khóa học Ba, Mẹ và Bé - Cùng bé lập trình  TUYỆT VỜI

Khoa hoc hay

Khóa học sử dụng Adobe Presenter-Tạo bài giảng điện tử
Khoa hoc hay
Design Website

Để thành thạo Wordpress bạn hãy tham gia khóa học 
Khóa học sử dụng Edmodo để dạy và học hiện đại để thành công
==***==
Bảo hiểm nhân thọ - Bảo vệ người trụ cột
Cập nhật công nghệ từ Youtube tại link: congnghe.hocviendaotao.com
Tham gia nhóm Facebook
Để tham gia khóa học công nghệ truy cập link: http://thuvien.hocviendaotao.com
Mọi hỗ trợ về công nghệ email: dinhanhtuan68@gmail.com

Nguồn: Tinh Tế

About Học viện đào tạo trực tuyến

Xinh chào bạn. Tôi là Đinh Anh Tuấn - Thạc sĩ CNTT. Email: dinhanhtuan68@gmail.com .
- Nhận đào tạo trực tuyến lập trình dành cho nhà quản lý, kế toán bằng Foxpro, Access 2010, Excel, Macro Excel, Macro Word, chứng chỉ MOS cao cấp, IC3, tiếng anh, phần mềm, phần cứng .
- Nhận thiết kế phần mềm quản lý, Web, Web ứng dụng, quản lý, bán hàng,... Nhận Thiết kế bài giảng điện tử, số hóa tài liệu...
HỌC VIỆN ĐÀO TẠO TRỰC TUYẾN:TẬN TÂM-CHẤT LƯỢNG.
«
Next
Bài đăng Mới hơn
»
Previous
Bài đăng Cũ hơn