V-Ray Profiler 效能剖析工具:紀錄渲染時間,幫助您最佳化校能

文 / Petya Georgieva  譯 / Hammer Chen

閱讀本文,認識 V-Ray Profiler,瞭解這個功能如何協助您最佳化彩現性能,使其成為專案中不可或缺的工具。

V-Ray Profiler 是一款功能強大的工具,能説明藝術家最佳化渲染性能,不論是新手或是老手都能從中受益。隨著 V-Ray 6、Maya update 1 與 Cinema 4D 的發佈,渲染器變得更加強大,新功能提供了更多洞察力。讓我們一起來探索 V-Ray Profiler 的研發歷程、運作原理以及它如何變成任何規模專案中不可或缺的工具。

何謂 V-Ray Profiler?

V-Ray Profiler 可説明使用者瞭解場景中不同元件的渲染時間。它可用於診斷和比較不同材質、細分和置換網格、渲染設置以及不同工作流程與方法的性能。

Profiler的剖析報告分為兩大部分–系統與渲染。系統報告側重於不同的渲染前和渲染後任務。渲染報告詳細說明了渲染過程中對材質和體積進行採樣所花費的時間。然後,這些報告又細分為每個材質或體積的詳細貢獻類型,如 GI、直射光、反射、折射等。

這一切都開始於一線希望與一絲光線

Chaos引以為豪的是我們與用戶之間的關係良好。我們總是努力保持對論壇留言和E-mail的關注,而且我們經常會安排會議,討論客戶在專案中遇到的難題。

常常有人問:能不能對場景最佳化性能?我們通常會與客戶一起調查具體案例,藉由程式碼性能工具分析,就更改材質樹、幾何體、渲染設置或其他相關內容提出建議。

不幸的是,整個過程有時會變得非常耗時,於是自然而然地就會問: 我們能否讓用戶自己診斷這些問題?我們已經有了這些工具,如記憶體跟蹤器和詳細日誌,但顯然還需要更多功能。

作為解決方案,我們設計了 V-Ray Profiler。其目的是報告每種材質及其著色組件(GI、反射、折射等)所花費的時間。這些指標將記錄在報告中,既可離線文字格式閱讀,也可在Google Chrome流覽器的跟蹤器等線上跟蹤工具中顯示。

V-Ray Profiler在 V-Ray 6 for Maya 中首次亮相,但我們知道它還有很多進步的空間。在V-Ray 6 for Maya, hotfix 1中,我們增加了記錄更多光線反彈指標的功能。這樣,用戶就可對更複雜的設置進行剖析,例如,攝影機在窗戶後面或看著鏡子的鏡頭。

陰影報告很有用,但渲染場景還有其他重要因素要留意。有很多原因會導致渲染速度減慢,例如不必要的複雜幾何體、非常精細的置換以及由於設置導致的光快取編譯速度減慢等等。為了解決這些問題,V-Ray 6, update 1 增加了 Profiler 的系統模式–它可提供每個物件的幾何體編譯時間、光快取構建、匯出、外掛程式初始化等訊息。有了這一新增功能,V-Ray Profiler 就成為了Chaos公司內部不可替代的工具,企盼我們的許多客戶也能從中受益。

V-Ray Profiler 與 Houdini 6官方正式版一起發佈,之後又與V-Ray 6 for Cinema 4D, update 1一同發表,但我們計畫繼續將其添加到更多整合中,以便我們的所有用戶都能從中受益。如果您最喜歡的平臺還不在清單中,也無須擔心,因為V-Ray Profiler也適用於 V-Ray App SDK 和V-Ray的獨立版本,只需在命令列中輸入幾個參數,就能為任何 .vrscene 啟用Profiler剖析工具。

系統模式: 渲染前和渲染後的剖析

該模式會報告渲染前後所花費的時間(其中也有一部分是渲染實際花費的時間,但在該模式中沒有進一步細項。有關著色耗時的詳情,請查看 ” Render breakdown”)。

主要事件按時間順序排列,報告如同一條時間軸。過程包括但不限於幾何體編譯、關鍵幀創建、光快取構建、外掛程式初始化等。

V-Ray 在內部跟蹤這些流程已有一段時間了,因為這個工具可用於估算渲染時間,而且幾乎不會影響原本的渲染效能。

System Profiler透過提供明細,對這些已有的做法進行擴展,例如,不只是編譯所有幾何體所花費的時間,而是每個資產的明細,並以同樣的原則,對每個外掛程式的初始化、每盞燈光…等資訊。

如果您懷疑第一個圖元到達 VFB 所花費的時間過長,那麼就應該使用這種模式。它可在 “系統 “模式中單獨使用,但也總是與 “渲染 “細目一起包含在 “All”模式中。

渲染模式:著色過程明細

渲染報告詳細列出了材質和體積著色過程中發生的事件。然後,材質的貢獻計算會細分為直射光、GI、反射、折射、每個紋理所耗費的時間及其他。

Profile將只顯示 V-Ray 計算出的部分,例如,如果某個材質沒有啟用任何折射功能,那麼它就不會有折射報告(因為折射所需的時間為 0 秒,而且無法直觀地表現出來)。

追蹤到完成為止

使用 V-Ray Profiler 時需要知道的關鍵事項是最大深度。儘管以最大深度查看報告會很有趣,但要謹慎使用,因為這會對渲染性能造成影響。想知道為什麼會出現這種情況,我們需要深入探究這個工具如何記錄所有事件的持續時間。

假設渲染攝影機看到使用 V-RayMtl1 的物體(我們稱之為物體 1),它反射了另一個使用 V-RayMtl2 的反射物體(物體 2)。我們的第一條攝影機光線擊中了物件 1,並向物件 2 產生了另一條光線。此時,我們將記下 V-RayMtl2 對 V-RayMtl1 的反射分量所起的作用,同時開始跟蹤從 V-RayMtl2 反彈的第二條光線。這兩次時間測量都將持續到射線結束其路徑為止。每個材質的所有不同元件都會多次出現這種情況。最大深度的值越大,Profiler 的測量次數就越多,對性能的影響也就越大。對於大多數沒有太多反射或折射的測試,我們建議使用預設值,並使用最大深度為 1 的 “All”模式。

另一方面,”系統 “模式會報告我們在渲染過程中收集的基本資料,因此啟用該模式不會對性能造成任何影響。

渲染最佳化剖析器報告的簡易指南

好的,現在我們知道 V-Ray Profiler 是什麼了。我們明白其運作原理,但如何讀取資料呢?讓我們從 “渲染報告 “開始,先瞭解著色的基礎知識。

簡單來說,在渲染影像時,光線會從虛擬攝影機透過影像平面投射到不同的虛擬物件上,這些物件都有自己特定的著色屬性。當光線擊中物體時,會根據其屬性產生不同類型的輔助光線。陰影光線被追蹤到光源,以確定直接光照與材質–這在直接光照組件中可見。如果材質具有反射特性,則會產生反射光線,這在反射元件中可看到。根據同樣的原理,折射光線負責折射的部分;次表面散射光線負責間接光的部分,以此類推。

每個元件所記錄的時間測量結果摘要將與每個給定材質的相對時間一起用於最終結果。這會以著色總耗時的百分比表示。您可能會發現,在報告中,所有材質的百分比加起來都是 100,但相反,元件卻不是。原因是我們沒有跟蹤著色過程中發生的所有事件,因為用戶幾乎無法控制這些事件。

在報告中,您可查找耗時最長的材質,並觀察材質的哪些元件會導致最長耗時。以此為基礎,您可調整材質的不同屬性,並比較哪種方法最有效。例如,您可比較不同 SSS 設置的材質或反射Roughness較高的材質與光澤度較高的相似材質。

系統模式收集渲染前和渲染後流程的資訊。列出的事件取決於場景中的內容和渲染設置,但有些事件幾乎在所有情況下都會出現,例如渲染和許可證初始化、匯出、python 後轉譯、關鍵幀創建、序列初始、幀初始和渲染、設置、燈光、V-Ray Toon、環境設置、渲染元素、幾何體與材質、燈光連結、外掛程式初始化、幾何體編譯、光線伺服器構建、燈光快取構建。

如果其中任何元件的渲染時間過長,就需要仔細檢查場景設置是否可最佳化。例如,對於幾何體編譯及其每個網格節點的進一步剖析。您可從細分和置換設置中尋找可進行最佳化的網格。

此教學影片介紹如何使用 V-Ray Profiler 來檢查報告並套用相關更改

使用 V-Ray Profiler 的好處

遺憾的是,後期製作無法解決所有問題,渲染時間也不例外。只需在 “All模式 “下進行一次渲染,就能找出渲染熱點,如造成渲染變慢的材質與幾何體。如果你懷疑場景中非著色範圍的區域可進行最佳化,那麼系統模式可提供協助,而且幾乎不產生任何性能成本。針對場景的特定方面進行最佳化,並使用科學的方法來比較不同的設置。

結語

總之,V-Ray Profiler 是用戶最佳化渲染過程的重要工具。它可詳細分析場景中各種元件所花費的時間,說明診斷並比較性能因素,包括材質、幾何體、細分、置換、渲染設置和不同的工作流程。在系統和全部兩種模式的説明下,使用者可深入瞭解渲染過程,使其成為最佳化不可或缺的工具和各級藝術家的寶貴資源。

關於作者

Petya Georgieva

Petya於2020年畢業于英國伯恩茅斯大學,獲得電腦動畫藝術與設計學士學位。從那時起,Chaos迅速聘請她為公司的品質管制實習生,而于2022年,她成為V-Ray for Maya的產品專家。Petya熱愛與視覺特效與藝術,但對動畫和傳統底片攝影情有獨鍾。

您可能也對以下訊息有興趣

最新情報第一手獲得

請訂閱電子報

    關注 SketchUp     
    關注 Foundry   
    光聯國際 / 佳能國際 商業解決方案創新事業群 Condata International Co., Ltd. / Abico Enterprise Solution
    ©2018 All Copyright Reserved.
    - made by bouncin