"Path tracing đẹp hơn ray tracing", nhưng khác biệt là gì?

P.W
23/3/2023 7:56Phản hồi: 24
"Path tracing đẹp hơn ray tracing", nhưng khác biệt là gì?
Hai ngày vừa rồi có hai thông tin từ phía Nvidia, với cụm từ khoá path tracing. Đầu tiên là việc Nvidia ra mắt bộ công cụ SDK v1.0.0,hỗ trợ path tracing cho những nhà làm game. Gần đây hơn, Cyberpunk 2077 công bố bản cập nhật 1.62, hỗ trợ chế độ đồ hoạ RT Overdrive Mode, ứng dụng kỹ thuật path tracing thay vì ray tracing như những phiên bản trước đó.

Cụm từ path tracing này cũng đã được đề cập vài lần, với hai trò chơi hỗ trợ là Quake RTX và Portal RTX vừa ra mắt cách đây ít lâu. Ngoài ra, tính đến trước khi Cyberpunk 2077 công bố phiên bản mới, cũng chưa thấy có trò chơi nào ứng dụng path tracing, cơ bản vì áp lực đổ lên phần cứng PC, cụ thể hơn là nhân RT bên trong GPU Nvidia là tương đối lớn.

Đọc thêm: https://tinhte.vn/thread/portal-rtx-nang-cap-nhe-do-hoa-quan-trong-hon-la-mien-phi-cho-anh-em-da-so-huu-game.3604116/

Portal RTX: Nâng cấp nhẹ đồ họa, quan trọng hơn là miễn phí cho anh em đã sở hữu game

Trong số những game giải đố kinh điển nhất trong lịch sử, Portal luôn được đặt ở vị trí rất cao, kể cả về đánh giá chất lượng từ giới phê bình, lẫn trong tâm khảm anh em từng thưởng thức tác phẩm này ở cái thời Windows XP vẫn còn thống trị.
tinhte.vn


Để giải thích cách path tracing vận hành, nhà phát hành Cyberpunk 2077, CD Projekt RED cho biết: “Chúng ta đã quá quen với những giới hạn của những thuật toán xac định hướng nguồn sáng trực tiếp và gián tiếp, xử lý theo thời gian thực. Những chi tiết đồ hoạ, ví dụ như ánh sáng phủ lên vật thể không tạo bóng đổ, hoặc nguồn sáng không tuân theo quy tắc vật lý, nguồn sáng gián tiếp được tăng cường độ bởi ambient occlusion, hay hiệu ứng hình phản chiếu dạng screen-space reflection vẫn được ứng dụng rộng rãi.

Điểm mạnh của những giải pháp này là tạo ra hiệu năng và tốc độ khung hình ổn trên những hệ thống cấu hình thấp. Nhưng điểm yếu của chúng là giới hạn chất lượng hình ảnh cũng như giảm khả năng sáng tạo của các nhà làm game.”




Nói thẳng ra, path tracing cũng là một dạng ray tracing nhưng mức độ phức tạp cao hơn nhiều. Những phép toán để mô phỏng cách ánh sáng tương tác với vật thể trong thế giới ảo về cơ bản là giống hệt nhau. Tuy nhiên, khác biệt cơ bản giữa ray tracing và path tracing nằm ở chính tên gọi của hai kỹ thuật. Ray tracing dùng thuật toán theo dõi từng tia sáng ảo trong game, còn path tracing dùng thuật toán để tính đường đi của một nguồn sáng.

Số lượng đầu việc khi ứng dụng path tracing đối với chip xử lý ít hơn, vì GPU chỉ phải tính đường đi của ánh sáng để xử lý hiệu ứng, hiển thị hình ảnh, màu sắc, bóng đổ hoặc ánh sáng phản chiếu. Nhưng kỳ thực, nếu xét đến thế giới game, khối lượng công việc áp lên phần cứng khi dùng path tracing nặng hơn ray tracing nhiều.

Nếu xét đến kỹ thuật ray tracing cơ bản, thì có lẽ không có card đồ hoạ chơi game nào ở thời điểm hiện tại có thể vừa xử lý toàn bộ đường đi của ánh sáng, lại vừa đảm bảo tốc độ khung hình đủ mượt để chơi game.

[​IMG]

Bắt đầu từ nguồn sáng, GPU sẽ phải tính toán đường đi của tia sáng, va phải vật thể và dội lại, tạo ra hàng loạt những chùm tia mới. Rồi sau đó GPU lại phải tính tiếp đường đi của những chùm tia sáng mới được tạo ra, kể cả cách chúng tương tác với môi trường để render ra những điểm ảnh chính xác về mặt màu sắc trên màn hình game. Cứ mỗi lần tia sáng va phải vật thể và bị dội sáng, một thuật toán vector mới sẽ được đưa ra để tính toán đường đi của ánh sáng.

Sẽ tới một lúc nào đó, lượng “ray” sẽ là quá nhiều và ảnh hưởng trực tiếp đến hiệu năng của chip xử lý, dẫn tới việc tốc độ khung hình bị giảm.

Tinhte_RT3.jpeg

Quảng cáo



Vì lý do đó, hầu hết những game hỗ trợ ray tracing hiện tại đều chỉ áp dụng thuật toán mô phỏng hướng đi của một số lượng hạn chế nguồn tia sáng, vừa đủ để tạo ra cảnh game đẹp hơn so với việc đặt nguồn sáng theo kiểu thủ công hoặc áp dụng screen-space reflection. Đó là quá trình mà các hãng game phải tối ưu để tác phẩm của họ vừa đep vừa mượt.

Đó là lúc path tracing được ứng dụng. Hiện giờ công nghệ này đã được áp dụng rất rộng rãi cho ngành kỹ xảo điện ảnh, cơ bản vì không phải chịu áp lực render hàng chục hay hàng trăm khung hình mõi giây theo thời gian thực, mà những khung hình được xử lý bằng phần mềm rồi bỏ vào render farm để tạo ra từng khung hình đơn lẻ ở chất lượng rất cao, chờ render xong và ghép chúng lại để thành cảnh phim lồng kỹ xảo.



Khác biệt cơ bản của ray tracing so với path tracing, đó là thay vì phải tính toán chi tiết đường đi của từng tia sáng như ray tracing, GPU sẽ tính toán đường đi của một tia sáng duy nhất, bao gồm cả đường đi của những chùm tia được tạo ra trong quá trình ánh sáng tương tác với thế giới ảo, ví dụ như bị hắt lại, tạo ra bóng đổ hay hình phản chiếu, hoặc bị vật thể hấp thụ.

Nhờ đó, thay vì những cảnh game được tính toán một cách tuyến tính, thế giới ảo sẽ được mô tả chân thực hơn nhiều, nhưng lượng tia sáng mà GPU cần tính toán lại ít hơn.

Tinhte_RT1.jpeg

Quảng cáo



Nói vậy không đồng nghĩa với việc path tracing sẽ nhẹ hơn ray tracing. Giải pháp này sẽ chỉ nhẹ hơn ray tracing với khối lượng tia sáng khổng lồ mà GPU phải tính toán. Còn trong thế giới game, để mô phỏng cách ánh sáng tương tác với môi trường, những nhân xử lý ray tracing vẫn là thứ được vận hành ở mức tối đa. Ở ví dụ cụ thể nhất là Portal RTX và Cyberpunk 2077 với cập nhật RT Overdrive sắp ra mắt, những card đồ hoạ cao cấp nhất của Nvidia như RTX 4080 hay 4090 cũng bị vắt kiệt sức.

Chính vì thế Nvidia cũng phải áp dụng hai giải pháp khác để đảm bảo game vừa mượt vừa đẹp. Thứ nhất là SER, viết tắt của Shader Execution Ordering, giải pháp tăng cường hiệu quả xử lý ray tracing trên GPU. Và thứ hai chính là DLSS 3, giải pháp ứng dụng nhân tensor và thuật toán deep learning để chèn những khung hình mới mà không cần tới sức mạnh của CPU, khiến game đảm bảo con số FPS anh em mong muốn.
24 bình luận
Chia sẻ

Xu hướng

ray vẫn đẹp hơn nhìn tương phản sáng tối
akabela
ĐẠI BÀNG
một năm
@Dr.Son phải nghĩ ra những cái mới thì mới móc túi người dùng được
@bạn nhật Bản chất path trace là ray trace ở level cao hơn rất nhiều. Nên nó phải đẹp hơn ray.
Ngày xưa đi học render cũng tìm hiểu mấy cái thông số này, sau này đã được auto đẹp hết trơn mà còn nhanh nữa
@cafeine vậy giờ đang render bằng gì vậy bác nhỉ
Đoạn này có dịch nhầm ko bạn ơi?

Ray tracing dùng phần cứng để theo dõi từng tia sáng ảo trong game, còn path tracing dùng thuật toán để tính toán đường đi của nguồn sáng.

Có thuật toán nào chạy mà không cần phần cứng?
Có phần cứng nào chạy mà ko cần thuật toán??
@maisonhai3 Bạn có thể hình dung như này.

Bắn 1 viên đạn thật, và xử lý khi viên đạn chạm vào vật thể.

Tạo ra hình ảnh giả lập viên đạn, dựa theo phương hướng và vị trí giả lập luôn hình ảnh va chạm viên đạn giả.
vipjrm2
ĐẠI BÀNG
một năm
@maisonhai3 tất nhiên là bất kỳ thuật toán nào chạy đều cần phần cứng cả.

Tuy nhiên khi nói đến một giải pháp nào đó dùng phần cứng, bạn có thể thấy một số chỗ ghi là Hardware rendering hoặc Hardware accelerator,..., tức là solution đó sẽ bao gồm cả phần mềm và phần cứng chuyên biệt cho nó để có thể hoạt động. Ví dụ luôn Ray tracing nó cần có phần cứng chuyên biệt là các nhân RT core kết hợp với thuật toán điều khiển nó.
Còn với giải pháp phần mềm, một số chỗ bạn sẽ thấy ghi là software rendering. thì nó là một solution chỉ bao gồm thuật toán, chỉ yêu cầu đơn vị phần cứng tính toán để chạy nó mà không cần đến bất kỳ phần cứng chuyên biệt nào
Mấy cái Ray Tracing hay Path Tracing phải đợi Apple hỗ trợ thì mới ngon, Apple tối ưu tỉ mỉ như nhân Neural Engine AI thì ăn đứt Nvidia
@centernc Nói nhăng nói cuội gì đấy, có thì đã làm từ lâu rồi 🤣 đem được đống game lên mac os đi rồi tính. Chưa tập bò đã tập lái xe rồi.
hp2013
TÍCH CỰC
một năm
@centernc Công nghệ đồ hoạ và AI thì nVidia bỏ xa Apple rồi bạn. Hệ thống vận hành tàu điện trên thế giới cũng có nVidia nhúng tay vào, hệ thống droid, tên lửa hành trình, vũ khí cũng có nVidia, hệ thống y tế, lượng tử cũng có nVidia. Xin hỏi Apple ở đâu trong mấy cái hệ thống đó ? Chắc trong túi quần người vận hành quá. 😃
@hp2013 thằng này bot ngu chung tinhdg với dấu tên + sốt xuất huyết mà, chắc phải gọi chiên da diệt i cứt vào bọn này mới bớt spam được, với nó apple chắc được thờ dán khắp nhà rồi(mà bot thì biết nhà ở đâu r đấy)
@hp2013 Hàng tỉ người đang dùng iPhone, AI của Apple có mặt mọi nơi mọi người
@centernc Dùng IP liên quan gì đến khả năng xử lý đồ họa, tính toán mà bạn kia đang nói đến vậy? Rồi Mac Os giờ đc dùng để chơi game có RT hay PT đc luôn rồi à?
Dò tia với do đường 😃
Nói một cách bớt hàn lâm thì ray tracing và path tracing khác nhau cơ bản ở điểm:
- ray tracing mô phỏng đúng con đường mà các tia sáng sẽ đi và trả về kết quả của chùm sáng lên object và môi trường.
- path tracing chỉ mô tả con đường của 1 tia sáng và các tia khác trong chùm sáng được dự đoán trước kết quả và dùng thuật toán để combine lên object và môi trường.
Kết quả: ray tracing sẽ chính xác nhưng nặng và bị hạn chế bởi số lượng tia có thể tính toán, ngược lại path tracing chính xác hay không tùy thuộc thuật toán dự đoán kết quả nhưng có được mô phỏng đầy đủ, chi tiết hơn với cùng cấu hình phần cứng.
Mình dân diễn hoạ 3D. Các hình ảnh diễn hoạ 3D nội thất để độ nét cao xuất hình 1080p Vray, Corona để được nét như thật render một frame vẫn mất 30p-1h là chuyện thường, để nhanh giảm setting xuống thì 5-10 phút cũng ra tương đối. Chắc tầm 10 năm nữa nhìn game không khác gì đời thật
lazy0338
ĐẠI BÀNG
một năm
Yêu quá
mrsunb
ĐẠI BÀNG
một năm
path tracing đúng là đúng thực tế hơn thật quá tốn tài nguyên, đến 4090 còn chịu thua, công nghệ phần cứng giờ quá đắt đỏ chưa đáp ứng nổi đáp ứng được thì chỉ đại gia mới chơi được, 10 năm nữa may ra có thể
Cả 2 đều là theo dõi tia sáng (dò tia). Phát ra tia sáng giả lập, sau đó theo dõi đường đi của nó. Phản xạ, triệt tiêu hay khúc xạ
Khác nhau:
Ray tracing: Phát ra số lượng giới hạn các tia sáng dựa trên độ phân giải của khung hình. Cũng có thể là ít hơn số pixel trên khung hình, các pixel lận cận sẽ sử dụng phương pháp nội suy để tạo nên. Chỉ tính toán các tia tạo nên điểm ảnh trên màn hình nên phương pháp này nhanh và được ứng dụng phổ biến trong game
Path tracing: Phát ra tia liên tục từ nguồn sáng rồi theo dõi nó. Càng nhiều tia được theo dõi, thời gian render càng lâu thì chất lượng càng cao. Không giới hạn số tia phát ra như Ray tracing mà giống như cách tia sáng ngoài thực tế do vậy nó cho kết quả giống với thực tế hơn.
Chính vì cách tính toán như vậy mà Ray tracing không có khúc xạ, còn Path tracing thì có

Tóm lại cả 2 đều là giả lập tia sáng, Ray tracing thì phát từ màn hình vào khung cảnh, dựa vào tín hiệu va đập để cho ra thông tin hình ảnh. Path tracing thì phát ra từ nguồn sáng, theo dõi va đập rồi thu lại kết quả trên màn hình
Ray tracing chỉ phát ra 1 lần số lượng giới hạn các tia tùy theo độ phân giải màn hình
Path tracing phát ra liên tục không giới hạn do vậy Path tracing hao tốn rất nhiều tài nguyên hệ thống nên trước đây không ai dùng nó cho game. Ngoài ra thì Path tracing engine trước đây được phát triển cho CPU, mãi sau này mới cho cho GPU nhưng lại không có khúc sạ
hiepBENH
ĐẠI BÀNG
một năm
bật mấy quả reflect này lên đẹp thật nhưng chơi 1 lúc rối mắt lắm. bao giờ game nó phát triển đến mức độ mắt mình nhìn đến chỗ nào thì nó focus vào chỗ đó blur bớt những chỗ xung quanh thì nó mới mang lại hiệu quả thật sự 😃
@hiepBENH cái này có lâu rồi, nhưng phải chơi VR nó mới theo dõi mắt để mà focus chứ
hóng test 😁

Xu hướng

Bài mới









  • Chịu trách nhiệm nội dung: Trần Mạnh Hiệp
  • © 2024 Công ty Cổ phần MXH Tinh Tế
  • Địa chỉ: Số 70 Bà Huyện Thanh Quan, P. Võ Thị Sáu, Quận 3, TPHCM
  • Số điện thoại: 02822460095
  • MST: 0313255119
  • Giấy phép thiết lập MXH số 11/GP-BTTTT, Ký ngày: 08/01/2019