才疏學淺,自學使用,手動翻譯,難免有錯,還望指正。
此文章只是Renderdoc官方文件的一個翻譯,其中加了一些自己的理解,並不完全正確,觀看請慎重。
Renderdoc官方文件連結:
翻譯筆記連結:
事件瀏覽器[Event Browser]是瀏覽frame和選擇不同action的主要方法
。
它顯示使用者批註的部分分層顯示。
批註你的frame
當應用程式具有frame的部分和子部分的使用者自定義批註時, 事件瀏覽器變得最有用,
允許你對frame進行更符合邏輯和更有序的瀏覽
。
執行此操作是特定於API和平臺的
。有關如何執行此操作的更多資訊,請參見如何批註捕獲?
這些API函式提供的所有標記區域的顏色將用於標記該區域的行,並沿著樹的左側顯示一個條形圖,顯示事件所在的區域
。
過濾顯示的event
預設情況下,Event Browser僅列出action。
action是諸如繪製、排程[dispatches]、複製、清除、解析[resolves]和其他呼叫之類的事件,這些事件會導致GPU執行工作,或者可能會影響記憶體和資源(如紋理和buffer)
。這有時被稱為Draw Call,但與實際的光柵化繪製相比,術語action通常不那麼含糊。
通常,瀏覽frame只需要檢視這些事件,但
在某些情況下,你可能希望看到一些狀態設定呼叫,以檢視狀態在哪裡發生了更改
。為此,你
可以將事件瀏覽器上的篩選器[filter]從預設更改為包括它們
。
篩選器表示式可能非常複雜,在如何篩選可見事件?中有解釋。
篩選器表示式有一個下拉列表,允許你選擇任何預設的篩選器,並且可以在設定視窗中儲存新的篩選器
。
event顯示
事件瀏覽器中顯示的事件通常派生自API呼叫本身的引數。少數事件將具有自定義生成的名稱
-例如,這些通常是間接繪製,其中檢視使用的GPU繪製引數而不是原始CPU端buffer更有用,或者用於可以顯示載入和儲存操作的渲染過程[renderpasses]。
在配置過濾器時,可以使用
Settings & Help
視窗下的控制元件來調整這些名稱。
要以示例的方式顯示這些選項,請以捕獲的幀的一部分的預設顯示為例:
Show custom action names
預設:
Enabled
此選項控制是否如上文詳細說明的那樣將
自定義名稱用於間接繪製[indirect draws]和渲染過程[renderpasses]
。請注意,禁用它會對renderpass beginning邊界和command buffer邊界產生影響。
Show parameter names and values
預設:
Disabled
此選項控制
是否包括引數名稱及其值
。預設情況下,不給出引數名稱,只有值可見。
這不會影響具有自定義名稱的action,正如上面在
Show custom action names
中所控制的那樣。
Show all parameters
預設:
Disabled
此選項控制
是顯示所有引數,還是僅包括最重要的引數
。請注意,由於顯示了所有引數,因此很難辨別出任何內容,因為有些函式有一些沒有意義的隱式引數,比如command buffer。
這不會影響引數值,在結構的情況下,引數值在許多情況下仍將僅顯示省略結構。同樣,與上面的
Show parameter names and values
一樣,這對具有自定義名稱的操作沒有影響,正如上面在
Show custom action names
中所控制的那樣。
選擇可用列
預設情況下,事件瀏覽器中的列為EID和Name。無法刪除名稱,因為它包含樹,但也可以自定義列以隱藏/顯示或重新排序和調整大小
。
要選擇哪些列應該可見,請右鍵單擊標題或單擊TIMLINE_MARKER選擇列按鈕
。
要重新排列列,只需單擊並拖動標題即可。
請注意,在計時操作時,將自動新增持續時間[duration]列以顯示資料。
計時操作[Timing actions]
要對每個action的GPU持續時間計時,請單擊計時器按鈕時間
。
這將自動執行一個流程來獲取每個action的時間,並將其顯示在duration 列中,如有必要,新增該列。
你可以在Settings Window中動態配置用於duration 列的時間單位
。
要檢查更多的 GPU 計數器,而不僅僅是簡單的持續時間[duration],請參閱效能計數檢視器[Performance Counter Viewer]。
瀏覽frame
事件瀏覽器是瀏覽frame的主要方式。事件在瀏覽器中作為條目列出,上面提到的分層標籤成為樹節點。
當前選擇的事件突出顯示
,並用
綠色標誌FLAG_GREEN
表示。這是RenderDoc正在檢查的事件,並反映在UI的所有其他視窗中。
EID(事件ID)列表示事件的ID。
事件ID從1開始分配,並在每次呼叫API時遞增
。因此,
action EID通常不是連續的,因為在兩者之間有狀態設定事件,這些事件也具有EID
。
只需單擊不同的事件即可將其選為當前事件,而選擇帶有某些子事件的條目將如同選擇了最後一個子事件一樣-換句話說,
選擇具有多個子事件的節點將顯示已發生的所有子事件的結果
。
你還可以使用鍵盤快捷鍵瀏覽frame。
按向上或向下箭頭鍵將在可見元素中上下移動,跳過任何摺疊的部分
。之後,這些鍵[key]將移入和移出一個子部分,進入下一個相鄰節點 -
基本上直接上下移動,就好像沒有樹一樣,它是一個直線列表
。
此視窗支援複製和貼上,因此只需選擇要複製到剪貼簿的條目並按ctrl-c
書籤[Bookmarks]
書籤按鈕將允許你為事件新增書籤,快捷鍵是 Ctrl-B
。
已新增書籤的事件列表將顯示在事件瀏覽器頂部的工具欄上,它們和快捷鍵Ctrl-1至Ctrl-0將跳轉到相應的已新增書籤的EID
。這些快捷鍵可以在應用程式中的任何位置執行。
有關詳細資訊,請參閱如何為捕獲添加註釋?
搜尋和跳轉[Searching and Jumping]
事件瀏覽器中還有另外兩個控制元件可用於幫助導航frame。
按Ctrl-F將開啟
**
查詢事件工具欄
**
查詢。此工具欄允許你輸入部分文字篩選
,
該篩選將與標籤和action事件進行匹配
。當你按Enter鍵時,將執行查詢,不過你可以根據需要調整文字並重新搜尋。
如果你想定位到某個特定的事件,你可以搜尋它的EID
。查詢結果將只顯示匹配事件,而不顯示任何其他可能透過子字串匹配該數字的事件。
如果找到的事件位於未展開的部分內,則這些部分將被展開,直到匹配的事件可見
。
匹配事件將用查詢圖示突出顯示,重複按Enter鍵將在匹配事件之間跳轉
。
你還可以使用上一個
箭頭_左按鈕
和下一個
箭頭_右按鈕
在查詢結果之間上下跳轉
。
也可以看看[See Also]
如何註釋捕獲?