Ở bài hướng dẫn trước, Quang Sơn PC đã đưa cho bạn những sơ lược về Render với GPU và CPU, qua đó cho bạn cái nhìn cơ bản về lịch sử render của chúng cũng như tùy vào nhu cầu của mỗi người sẽ chọn nên render GPU hay CPU sao cho phù hợp. Vì vậy đến bài viết này, Quang Sơn PC muốn đi sâu hơn nữa về render GPU, hãy cùng tìm hiểu về sự khác biệt của render GPU và CPU cũng như khi nào nên chọn Render GPU nhé.
Khi nói đến render, tốc độ là yếu tố quan trọng nhất với các artist làm Kiến trúc hoặc film. Hiện tại có 2 công nghệ khác nhau: CPU (Central Processing Unit) và GPGPU (General Purpose Graphics Processing Unit), cả hai đều là những phần thiết yếu của 1 máy tính nhưng cách làm việc của chúng thì hoàn toàn khác nhau. Bài hướng dẫn này sẽ chỉ ra những ưu điểm và khuyết điểm của mỗi option.
Mặc dù GPU đang là 1 chọn lựa hợp lý cho nhiều trường hợp nhưng không phải lúc nào nó cũng là chọn lựa tốt nhất hay duy nhất. Vray đã tích hợp sẵn GPU từ phiên bản năm 2008 và cho phép chọn 1 trong 2 để rendering CPU-GPU. Phần cuối cùng của hướng dẫn này sẽ tìm hiểu sâu về cách khai thác hiệu quả tối đa khi render với GPU.
Khác biệt giữa CPU và GPU
Để hiểu hơn sự khác biệt giữa CPU và GPU chúng ta bắt đầu với độ trễ và lưu lượng.
Độ trễ cho chúng ta biết thời gian cần để hoàn thành 1 tác vụ. Ví dụ chúng ta có 1 chiếc xe cần di chuyển từ A đến B, thì độ trễ sẽ cho ta biết khi nào xe sẽ đến B.
Lưu lượng sẽ cho ta biết có bao nhiêu chiếc xe đi từ A đến B trong 1 khoảng thới gian nhất định. Như vậy, để tăng lưu lượng chỉ có 1 cách là làm giảm độ trễ bằng cách tăng tốc độ của xe.
Hoặc chúng ta có thể thêm số xe với cách tăng thêm làn đường, với nhiều làn đường bạn có thể đạt được lưu lượng cao hơn thậm chí với tốc độ thấp hơn hoặc độ trễ cao hơn
CPU được thiết kế cho độ trễ thấp (tốc độ nhanh hơn) và được tối ưu hóa cho các tác vụ đơn lẻ.
Mặt khác GPU được thiết kế cho các nhiệm vụ chạy song song ồ ạt (tới tấp) chẳng hạn như tính toán màu sắc của mội pixel trên màn hình. Một GPU có “giới hạn về tốc độ” nếu so sánh với CPU là khá chậm nhưng nó có thể mang nhiều xe đến cùng 1 lúc.
Driver là công cụ kết nối giữa các ứng dụng, hệ điều hành và phần cứng. Nếu driver đứng 1 mình thì nó là vô dụng, do đó cần 1 softwear để cho nó biết làm gì và làm như thế nào? Với CPU nó hoàn toàn dựa vào hệ điều hành như OS X, Windows hay Linux. Còn GPU dựa trên driver – kết nối giữa phần cứng và hệ điều hành.
Với các program non-GPU chỉ bao gồm các ứng dụng và hệ điều hành, còn GPU thì ngoài 2 yếu tố đó còn có thêm driver.
Như vậy, chúng ta cũng đã hiểu phần nào về CPU và GPU. Tiếp tục, chúng ta sẽ tìm hiểu thêm khi render thì CPU và GPU có tác động như thế nào? ưu điểm hay nhược điểm khi người dùng chuyển từ CPU sang GPU với cùng 1 khung cảnh có cùng 1 chất liệu như nhau?
Render với CPU
Ưu điểm:
– Có lịch sử lâu đời: nói chung cái gì có thâm niên thì đều tốt và nó đã quen thuộc với mọi người hay nói cách dễ hiểu là “Gừng càng già càng cay”
Lựa chọn tốt nhất cho các tác vụ đơn luồng – single thread.
– Hầu như sử dụng toàn bộ tài nguyên sẵn có của máy tính: ví dụ CPU có thể sử dụng thêm RAM, ổ cứng để mở rộng thêm bộ nhớ, điều này làm cho nó linh hoạt hơn, ví dụ bạn có thể sử dụng thêm ổ SSD
– Ổn định hơn
Nhược điểm:
– Khó thêm CPU: vì khi muốn thay hoặc thêm CPU chúng ta phải thay luôn cả Mainboard, coi như mua 1 cái máy mới (Freelancer với phí thiết kế bèo bọt ko thích điều này ^^).
– Muốn máy càng mạnh thì càng tốn tiền
– Không hiệu quả: CPU thường lãng phí rất nhiều tài nguyên để cho ra kết quả
Hãy nhớ rằng: CPU thực sự tốt cho những tác vụ lớn, khi chúng ta có trong tay nhiều CPU ví dụ công ty hoặc tập đoàn thì CPU trở nên tốt hơn, đặc biệt là Render farm hoặc Cloud render.
Render với GPU
Ưu điểm:
– Khả năng mở rộng: Thường thì 1 Mainboard có nhiều khe PCIe vì vậy việc lắp thêm các GPU cho 1 CPU là khả thi, điều này tiết kiệm hơn khi chúng ta chỉ cần 1 CPU và 1 bản quyền cho máy tính. Thường Bus speed cho PCIe là x1, x4, x8, x12, x16, x32, tôi khuyên các bạn nên dùng bus cao hơn vì nó có băng thông rộng hơn, nếu chỉ dùng để rendering bình thường (Production) mà không xài Interactive(Vray RT) thì trung bình khoảng x8-x16 là OK.
– Khả năng mở rộng độc lập: việc tăng số lượng GPU cho phép Vray tăng tốc theo GPU(ví dụ 2 GPU thì tốc độ tăng gấp đôi). Do đó thông thường bạn không cần 1 CPU mạnh để kéo các GPU mà cần 1 PSU-nguồn đủ tốt vì các GPU sẽ rất hao điện (khoảng 250W/GPU).
– Tốc độ render rất nhanh: Rất nhiều setup render phù hợp cho GPU (các bạn có thể thấy vray 3.5 vừa ra có những cải tiến cho GPU rất đáng kể) Vray 3.5 có gì mới?. Nếu so sánh CPU và GPU với 1 giá tiền xấp xỉ thì GPU có thể nhanh hơn gấp 2 đến 15 lần CPU.
Có thể lợi dụng các bộ vi xử lý tích hợp sẵn trong GPU.
Nhược điểm:
– Bộ nhớ ít: GPU là 1 máy tính mini có bộ nhớ riêng nên thường bị hạn chế (GDDR3, GDDR5 hoặc HBM).
– Bị nghẽn giao tiếp: Vì GPU muốn giao tiếp phải thông qua CPU nên nó không có quyền truy cập trực tiếp do đó độ trễ thông tin sẽ cao hơn và làm giảm hiệu suất. Mỗi GPU thường phải chứa toàn bộ Scene và texture để render nên nếu bạn có 2 video card 4Gb và 12Gb thì Scene render phải phù hợp với 4Gb còn nếu muốn mở rộng bộ nhớ hơn các bạn phải vô hiệu hóa card 4Gb để dùng card 12Gb.
– Phụ thuộc nhiều vào driver: vì drive được update và thay đổi thường xuyên
Làm sao để chọn được GPU phù hợp?
Render với GPU thường ra nhiều câu hỏi. Nên mua card màn hình nào? Nên mua card pro hay card game? Bộ nhớ card cần bao nhiêu là đủ? CUDA hay Open CL? và còn rất nhiều câu hỏi nữa.
Một artist chuyên nghiệp có thể sử dụng 1 trong 2 dòng card (Pro hoặc game) cho công việc của họ. Phổ biến dòng chuyên nghiệp là NVIDIA (Quadro) và AMD (Firepro), dòng phổ thông là NVIDIA (Geforce) và AMD (Radeon).
Render với Vray hay các phần mềm đồ họa khác không cần thiết chúng ta phải dùng những Card chuyên nghiệp đắt tiền, tùy Card, dòng phổ thông thậm chí có thể vượt trội hơn dòng chuyên nghiệp mà không phải tốn quá nhiều chi phí.
Các nhà sản xuất GPU sử dụng các APIs khác nhau cho card của họ. Chúng ta chỉ tập trung vào NVIDIA (CUDA) và AMD (Open CL) vì nó mang lại nhiều lợi ích cho người dùng Vray hơn. Qua hình dưới chúng ta có thể thấy CUDA độc quyền hơn, nó chỉ chạy với GPU NVIDIA còn OpenCL thì tương thích nhiều hơn. Vì vậy, bạn nào xài CPU chip Intel(i3, i5, i7) thì nên dùng OpenCL.
Sử dụng Vray RT trong 3d max
– Mở bảng setting render (F10)
– Ở phần trên cùng(max 2017) Target chọn Activeshade mode
– Renderer chọn Vray RT
– Engine type Chọn CUDA hoặc OpenCL tùy vào GPU của bạn
– Khi mở cửa sổ Activeshade thì Vray sẽ bắt đầu tính toán
Làm sao sử dụng GPU để render Production trong 3d max?
– Trong bảng setting render -> Target-> Production rendering mode
Renderer chọn Vray RT
Cấu Hình Máy Tính Render Bằng GPU
[Products:4170,4044,1915,3980,3763,3260,2702,4222,4176]Kết luận
Tốc độ của GPU rõ ràng quá vượt trội so với CPU, mang tới kết quả nhanh chóng cũng như trải nghiệm giải quyết công việc hiệu quả hơn. Tất nhiên trong nhiều trường hợp thì CPU sẽ có lợi thế, và bản thân người dùng hiện tại đều cho rằng render CPU sẽ giúp hạn chế hiện tượng nhiều ảnh hơn. Nhưng trong tương lai chắc chắn GPU sẽ sớm được phát triển hơn nữa mang tới cho chúng ta trải nghiệm vô cùng tốt, hãy đợi trong khoảng thời gian 2 hoặc 3 năm nữa.