Skip to main content

V-Ray optimization guide: Irradiance Map, Light Cache, UHD Cache

Hướng dẫn tối ưu V-Ray cho cloud rendering: các pattern GI caching tốt nhất, tính trước Irradiance Map, UHD Cache, Brute Force và cấu hình EXR render elements.


cover
cover

Cài đặt Global Illumination (GI) của V-Ray quyết định thời gian render per-frame nhiều hơn hầu hết lựa chọn cấu hình khác. Với ảnh tĩnh archviz, tính lại GI từ đầu trên mỗi frame là lãng phí — cùng Irradiance Map và Light Cache có thể được tái sử dụng trong toàn bộ animation, giảm thời gian render per-frame từ 40–70% tùy thuộc vào độ phức tạp của scene. Trang này hướng dẫn các pattern GI caching hoạt động tốt nhất trên render farm (hệ thống máy tính kết xuất) phân tán: tính trước GI cục bộ trước khi upload, tái sử dụng cache đã lưu, đánh đổi giữa Irradiance Map, Light Cache, UHD Cache và Brute Force, và cách đóng gói đầu ra EXR với render element qua V-Ray Frame Buffer.

Hướng dẫn này áp dụng cho V-Ray for 3ds Max, V-Ray for Maya, V-Ray for Cinema 4D và V-Ray for Houdini — các pattern GI nhất quán giữa các DCC.

---

Tại sao GI caching quan trọng trên render farm

Tính toán GI của V-Ray gồm hai giai đoạn: giai đoạn "prepass" lấy mẫu ánh sáng gián tiếp trên scene (ghi vào cache), và giai đoạn "final" dùng cache để render pixel thực sự. Với ảnh tĩnh đơn lẻ, cả hai giai đoạn chạy trong một lần render. Với animation, tính lại GI từ đầu trên mỗi frame gây ra hai vấn đề:

  1. Lãng phí tính toán. Ánh sáng gián tiếp trong scene kiến trúc thường thay đổi rất ít từ frame sang frame. Tính lại 250 lần cho animation 10 giây lãng phí khoảng 60% tổng thời gian render.
  2. GI flicker. Phân phối GI sample của mỗi frame hơi khác nhau (do tính ngẫu nhiên), gây ra sự thay đổi độ sáng tinh tế từ frame sang frame trong các vùng ánh sáng gián tiếp — lỗi "flickering archviz animation" kinh điển.

Giải pháp là tính GI một lần trên toàn bộ animation, lưu kết quả vào file cache, sau đó cho render final của mỗi frame đọc từ cache.

---

So sánh nhanh các phương thức GI

| Phương thức | Primary engine | Secondary engine | Phù hợp nhất với | Đánh đổi | |---|---|---|---|---| | Irradiance Map + Light Cache | Irradiance Map | Light Cache | Ảnh tĩnh và animation archviz | Setup chậm nhất, thời gian per-frame thấp nhất; cần prepass | | Brute Force + Light Cache | Brute Force | Light Cache | Ánh sáng phức tạp, iteration nhanh | Thời gian per-frame cao hơn, không flicker cho animation | | Brute Force + Brute Force | Brute Force | Brute Force | Ảnh tĩnh chất lượng cao, không file GI cache | Per-frame chậm nhất, chất lượng cao nhất | | UHD Cache (V-Ray 6.x+) | (varies) | UHD Cache | Workflow hiện đại đơn giản hơn | Mới hơn, có thể khác pipeline đã thiết lập |

Pattern khuyến nghị cho animation archviz trên farm: Irradiance Map (primary) + Light Cache (secondary), cả hai được tính trước và lưu trước khi nộp.

---

Pattern 1: Tính trước Irradiance Map + Light Cache cho ảnh tĩnh

Với render ảnh tĩnh chất lượng cao:

  1. Cấu hình GI cục bộ. - V-Ray → Global Illumination → enable. - Primary engine: Irradiance Map. - Secondary engine: Light Cache. - Preset Irradiance Map: Medium (hoặc cao hơn cho hero shot). - Light Cache: 1000 subdivs (mặc định), sample size 0,02.
  1. Đặt cả hai chế độ về "Single frame" trong dropdown Mode của mỗi engine.
  1. Bật "Save to disk" cho cả Irradiance Map và Light Cache. Đặt đường dẫn file vào thư mục con gi/ trong dự án — ví dụ: gi/scene_v01_ir.vrmapgi/scene_v01_lc.vrlmap.
  1. Render scene cục bộ ở resolution mục tiêu.
  1. Xác nhận file cache đã được ghi. Kiểm tra thư mục gi/ có file .vrmap.vrlmap. File cache trống hoặc zero-byte nghĩa là prepass thất bại thầm lặng.
  1. Chuyển chế độ về "From file" cho cả hai engine, trỏ đến file cache đã lưu.
  1. Tắt "Save to disk" để worker không cố lưu lại.
  1. Đóng gói dự án bao gồm thư mục gi/, archive và upload.

---

Pattern 2: Animation với Animation (prepass) + Animation (rendering) — V-Ray Next workflow

Với V-Ray archviz animation, V-Ray Next giới thiệu workflow hai-chế-độ chuyên dụng là tiêu chuẩn thực tế qua V-Ray 6.x và 7.x:

  1. Cấu hình prepass. - V-Ray → Global Illumination → Primary engine: Irradiance Map. - Irradiance Map → Mode: Animation (prepass). - Secondary engine: Light Cache. - Light Cache → Mode: Single frame. - Đặt Frame Range cho prepass khớp với animation range. - Đặt output path cho file cache Irradiance Map thành gi/scene_v01_ir_<frame>.vrmap.
  1. Chạy prepass. Trên máy trạm, render toàn bộ animation range. V-Ray bỏ qua đầu ra frame thực sự — chỉ có file cache được ghi.
  1. Compile các file cache per-frame. Hầu hết phiên bản V-Ray tự động merge per-frame Irradiance Map khi chuyển sang chế độ "Animation (rendering)". Một số workflow yêu cầu bước merge thủ công.
  1. Chuyển chế độ sang Animation (rendering). Trỏ Irradiance Map đến file cache đã merge.
  1. Tắt cache save. File đã merge là nguồn thông tin đáng tin.
  1. Đóng gói và nộp. Worker đọc Irradiance Map đã merge cho mỗi frame, tính Light Cache mới per-frame (rẻ) và render ảnh final. Thời gian render per-frame trên farm thường thấp hơn 40–60% so với uncached.

Tối ưu nhỏ cho animation rất dài: tính prepass theo mỗi frame thứ N (ví dụ: 1 trong 5) thay vì mỗi frame. V-Ray nội suy giữa các prepass frame thưa khi render.

---

Pattern 3: UHD Cache (workflow đơn giản hơn V-Ray 6.x)

V-Ray 6.x giới thiệu UHD Cache như một lựa chọn thay thế đơn giản hơn cho Irradiance Map + Light Cache. UHD Cache kết hợp GI primary và secondary pass thành một hệ thống caching hợp nhất.

Khi nên dùng UHD Cache:

  • Dự án mới được tạo trong V-Ray 6.x+ — workflow đơn giản hơn.
  • Loại scene hỗn hợp.
  • Iteration nhanh hơn trong giai đoạn scene-setup.

Khi nên giữ Irradiance Map + Light Cache:

  • Pipeline V-Ray 4.x / 5.x hiện có đã được validate.
  • Ảnh tĩnh chất lượng tối đa.
  • Studio có thư viện shot lớn keyed theo định dạng GI cache cụ thể.

Cấu hình UHD Cache:

  1. V-Ray → Global Illumination → primary engine: chuyển sang UHD Cache.
  2. Cấu hình quality preset (Low / Medium / High). Medium là mặc định hợp lý.
  3. Bật "Save to disk" cho UHD Cache.
  4. Tính trước trên máy trạm và đưa file cache vào project upload.
  5. Chuyển chế độ sang "From file" và tắt save trước khi đóng gói.

---

Pattern 4: Brute Force khi GI caching không khả thi

Một số scene không cache tốt — thường là scene với ánh sáng động cực đoan. Với những scene này, Brute Force là lựa chọn đúng:

  1. Primary engine: Brute Force, Secondary engine: Light Cache.
  2. Đặt Brute Force subdivisions đủ cao để làm sạch nhiễu (thường 8–24, được calibrate cục bộ).
  3. Không cần file cache. Worker tính mọi thứ per-frame.
  4. Thời gian per-frame cao hơn so với Irradiance Map + Light Cache, nhưng chất lượng nhất quán.

---

Bảng quyết định phương thức theo trường hợp sử dụng

| Scene của bạn | Phương thức khuyến nghị | |---|---| | Ảnh tĩnh exterior archviz | Irradiance Map + Light Cache, đã tính trước, chế độ "From file" | | Ảnh tĩnh interior archviz | Irradiance Map + Light Cache, đã tính trước, samples cao hơn | | Animation exterior archviz | Animation (prepass) + Animation (rendering) | | Animation interior archviz | Animation (prepass) + Animation (rendering), tính trước 1 frame trong 5 | | Product visualization | UHD Cache (V-Ray 6.x+) hoặc Brute Force + Light Cache | | VFX shot với volumetric | Brute Force + Light Cache, không file cache | | Iteration nhanh / lookdev | UHD Cache, preset Low | | Hero shot portfolio | Brute Force + Brute Force, samples cao |

---

GI cache phải được tính trước khi upload

Đây là nguyên nhân phổ biến nhất gây chi phí có thể tránh được trên V-Ray farm job: GI cache phải được tính trên máy trạm trước khi dự án được upload. Không có chế độ "calculate GI on the farm first, then render" nào hoạt động hiệu quả trên distributed worker. Tính toán GI là tuần tự, không song song.

Hai chế độ thất bại thường gặp nhất:

  • Chế độ để ở "Single frame" trong animation submission. Mỗi worker độc lập chạy lại cùng prepass đắt tiền per-frame, lãng phí hầu hết song song farm cung cấp.
  • Đường dẫn file cache trỏ đến ký tự ổ đĩa máy trạm (ví dụ: D:\my-projects\gi\scene_ir.vrmap). Worker không thể resolve đường dẫn và fallback về chế độ "calculate GI" thầm lặng, thường kèm GI flicker.

Cách khắc phục trong cả hai trường hợp là như nhau: tính trước cục bộ, đặt chế độ "From file" hoặc "Animation (rendering)," dùng đường dẫn tương đối (./gi/scene_ir.vrmap) và xác nhận file cache tồn tại trong thư mục dự án trước khi đóng gói.

---

Tái sử dụng Irradiance Map để giảm thời gian render

Pattern không rõ ràng với người dùng V-Ray farm lần đầu: sau khi đã tính Irradiance Map cho một scene, bạn có thể tái sử dụng nó cho các re-render khi điều chỉnh camera, iteration look-dev, và thậm chí biến thể ánh sáng — miễn là geometry và vị trí đèn của scene không thay đổi đáng kể.

Cụ thể: nếu bạn render scene archviz với Irradiance Map cụ thể, sau đó một tuần client yêu cầu biến thể daylight đổi hướng mặt trời 20 độ, bạn không cần tính lại Irradiance Map. Map hiện có bao gồm indirect light sample trên geometry; thành phần direct-light được tính lại per-render.

Khi cần tính lại:

  • Thay đổi geometry (tường di chuyển, thêm nội thất, thay đổi scale).
  • Thay đổi setup đèn lớn (thêm hoặc bỏ area light lớn, thay HDRI dome).
  • Thay đổi albedo material ảnh hưởng đến indirect bounce (đổi tường trắng sang gỗ tối).

---

Định dạng đầu ra: EXR + render element qua V-Ray Frame Buffer

Với bất kỳ thứ gì dùng cho compositing hoặc grading workflow, câu trả lời là V-Ray Frame Buffer (VFB) ghi EXR multichannel với render element, không phải PNG/JPG trực tiếp từ renderer.

Tại sao VFB + EXR + render element:

  • Linh hoạt compositing. Mỗi render element (diffuse, reflection, refraction, GI, specular, ambient occlusion, Cryptomatte, Z-depth, world position, motion vector) nằm trong một channel riêng bên trong một file EXR. Compositor lấy những gì cần mà không cần re-render.
  • Không bake-in post effect. Lens effect, color grading, exposure, glare và bloom mà VFB preview giữ nguyên là giá trị có thể điều chỉnh trong EXR header.
  • Độ chính xác lossless. EXR là half-float (16 bit) hoặc full-float (32 bit) mỗi channel.
  • Một file mỗi frame. EXR multichannel giữ số frame được căn chỉnh tự động.

Cách cấu hình trên máy trạm trước khi nộp:

  1. Mở V-Ray Frame Buffer settings trong DCC của bạn.
  2. Bật V-Ray Frame Buffer (không phải frame buffer native của ứng dụng).
  3. Bật "Save separate render channels" và "Save RGB and alpha".
  4. Đặt output thành OpenEXR (.exr). Bit depth: 16-bit half-float là chuẩn cho compositing; 32-bit full-float hữu ích cho VFX có HDR range cực đoan.
  5. Thêm render element cần thiết. Ít nhất nên bao gồm: diffuse, reflection, refraction, GI, specular, alpha, Z-depth và Cryptomatte nếu cần compositing theo object.
  6. Đặt output path vào thư mục con output/ sạch trong dự án — ví dụ: output/scene_v01.####.exr. Chỉ dùng đường dẫn tương đối.
  7. Tắt tùy chọn "save image" của renderer native.
  8. Xác nhận cục bộ với một frame test. Render một frame, mở EXR trong compositor (Nuke, After Effects, Fusion, DaVinci Resolve), xác nhận tất cả channel có mặt.

---

Light Cache subdivs vs sample size

Light Cache có hai tham số chủ yếu kiểm soát chất lượng:

  • Subdivs. Mặc định 1000. Với interior archviz, 1500–2500 tạo GI sạch hơn. Với exterior, 800–1200 thường đủ.
  • Sample size. Mặc định 0,02. Giá trị thấp hơn (0,01) tạo chi tiết GI sắc hơn với chi phí nhiễu; giá trị cao hơn (0,05) làm mượt biến thể nhỏ. Không thay đổi mà không test.

Với animation prepass, bật "Use Light Cache for glossy rays" → enabled, tạo phản chiếu glossy mượt hơn qua animation.

---

Khắc phục lỗi V-Ray GI trên farm

Để khắc phục lỗi chung giữa các DCC, xem .

  • "Irradiance Map file not found" khi render. Xác nhận đường dẫn file cache trong V-Ray settings là tương đối so với thư mục dự án, không phải tuyệt đối.
  • Đường dẫn file GI cache dùng ký tự ổ đĩa máy trạm. Chỉnh đường dẫn file cache trong V-Ray settings để dùng đường dẫn tương đối (./gi/scene_ir.vrmap) trước khi nộp.
  • Animation flicker dù đã dùng cached GI. Xác nhận chế độ cache được đặt thành "Animation (rendering)" trên final pass, không phải "Single frame". Cũng xác nhận file cache bao gồm toàn bộ animation range.
  • Worker tính GI từ đầu dù cache đã được đưa vào. Xác nhận "Save to disk" bị tắt và Mode được đặt "From file" hoặc "Animation (rendering)".
  • File cache UHD không được worker đọc. Nguyên nhân gốc giống như Irradiance Map: chỉ đường dẫn tương đối, chế độ "From file", Save bị tắt.
  • EXR render element đến trống hoặc thiếu channel. Xác nhận "Save separate render channels" được bật trong VFB settings và frame test trên máy trạm tạo ra EXR multichannel đầy đủ.

---

Tham khảo thêm

  • — khắc phục lỗi job thất bại
  • — lỗi chất lượng render bao gồm pattern GI flicker
  • — quy trình upload, submit, download
  • — V-Ray for 3ds Max đặc thù
  • — V-Ray for Maya đặc thù
  • — V-Ray for Cinema 4D đặc thù
  • — công cụ Simulate Local Path validation
  • — trang đích
  • — bài viết về hiệu suất scatter

---

FAQ

Q: Tôi có thực sự cần tính trước Irradiance Map và Light Cache cục bộ trước khi nộp lên farm không? A: Rất được khuyến nghị cho animation; tùy chọn cho ảnh tĩnh. Tính toán GI là tuần tự và không thể phân phối trên các worker, vì vậy submission animation uncached khiến mỗi frame phải chạy lại cùng prepass đắt tiền, lãng phí hầu hết song song của farm. Với ảnh tĩnh, prepass chỉ chạy một lần dù sao.

Q: Animation của tôi vẫn có GI flicker dù đã tính trước Irradiance Map. Tại sao? A: Ba nguyên nhân có thể: (1) chế độ Irradiance Map trên final pass không được đặt "Animation (rendering)" — có thể là "Single frame" gây tính lại per-frame; (2) file cache không bao gồm đầy đủ animation range; (3) prepass được tính với sampling rate quá thấp nên bản thân cache có nhiễu.

Q: Khi nào nên dùng UHD Cache thay vì Irradiance Map + Light Cache? A: UHD Cache (V-Ray 6.x+) đơn giản hơn để setup và hoạt động tốt cho dự án mới. Giữ Irradiance Map + Light Cache cho pipeline hiện có hoặc cho hero still nơi nội suy của Irradiance Map tạo kết quả sạch hơn.

Q: Tính Irradiance Map của tôi mất 4 giờ cục bộ trước khi có thể nộp. Có cách nào nhanh hơn không? A: Ba tối ưu: (1) giảm preset Irradiance Map xuống "Medium" hoặc "Low"; (2) tính prepass ở resolution thu nhỏ (50% final); (3) với animation rất dài, tính prepass mỗi 5 frame và để V-Ray nội suy.

Q: Farm có thể tính Irradiance Map prepass và sau đó render final pass trong một job không? A: Không hiệu quả. Prepass sẽ chạy trên một worker (tuần tự), và final pass sẽ chạy phân tán. Pattern khuyến nghị vẫn là: prepass trên máy trạm, final pass trên farm.

Q: Scene của tôi dùng V-Ray Distributed Rendering (DR) cục bộ. Điều đó áp dụng thế nào với farm? A: V-Ray DR dùng để chia ảnh tĩnh đơn lẻ trên nhiều máy trạm LAN. Trên farm, tương đương là phân phối bucket-rendering được xử lý ở cấp queue — farm phân phối bucket tự động. Bạn không cần cấu hình V-Ray DR; nộp bình thường.

Q: Tôi dùng Light Cache only (không có Irradiance Map) làm primary engine. Có được hỗ trợ không? A: Có. Pattern "Light Cache only" hoặc "Brute Force + Light Cache" được hỗ trợ trên farm. Tính toán Light Cache per-frame đủ nhanh để thường không cần pre-caching cho scene điển hình.

Q: Phiên bản V-Ray của tôi là 4.x (V-Ray Next). Các workflow này vẫn áp dụng được không? A: Có, với một số điều chỉnh tên tham số. V-Ray Next dùng thuật ngữ hơi khác (ví dụ "Pre-pass animation" thay vì "Animation (prepass)"), nhưng pattern GI caching cơ bản hoàn toàn giống nhau. Các chế độ "From file" và "Save to disk" hoạt động tương tự. Để biết tên tham số cụ thể trong V-Ray 4.x, tham khảo tài liệu V-Ray 4.x; với dự án mới, khuyến nghị dùng V-Ray 6.x hoặc 7.x.

Q: Tại sao EXR với render element thay vì chỉ render sang PNG? A: EXR với render element cho compositor mọi channel (diffuse, reflection, GI, Z-depth, Cryptomatte, v.v.) trong một file multichannel per-frame. PNG làm phẳng về 8-bit và bake mọi post effect vào pixel, loại bỏ tính linh hoạt compositing. Với đầu ra chất lượng final, EXR là định dạng giữ cho render có thể chỉnh sửa downstream.

---

Hướng dẫn tối ưu hóa V-Ray: Irradiance Map, Light Cache, UHD Cache
Hướng dẫn tối ưu hóa V-Ray: Irradiance Map, Light Cache, UHD Cache
Last updated: 13 tháng 5, 2026