簡體   English   中英

SceneKit統計信息顯示中的“Metal Flush”是什么?

[英]What are “Metal Flush” in the SceneKit stats display?

我正在嘗試解決FPS中的丟棄問題。 我發現Metal Flushes占用了大部分渲染時間。 那是件好事兒嗎?

SceneKit統計信息顯示

不確定這一點,因為Apple似乎沒有記錄究竟“金屬沖洗”到底是什么,但我會根據之前的OpenGL經驗回答:

在GPU驅動的應用程序的執行周期中,CPU將數據推送到GPU,等待GPU完成對此數據的操作(可能在此期間執行其他工作),並且一旦GPU完成,推送更多數據並請求更多操作。 通常,“刷新”意味着CPU正在等待GPU完成操作(“清除舊數據”),以便它可以將更多數據推送到GPU。

因此,如果我的解釋是正確的,那就意味着“金屬沖洗”測量C​​PU等待視頻內存釋放的時間,以便它可以推送更多數據並向GPU請求操作。 在這種情況下,它可能是好事還是壞事:

CPU和GPU之間總會有一些通信開銷,所以如果你的大部分渲染時間被“Metal Flush”占用,那么這可能意味着你的應用程序運行得足夠快,幀之間的大部分延遲都是只是溝通開銷。 在那種情況下,這將是一件好事。

另一方面,您可能會將大量數據推送到GPU,並且復制數據和處理數據所需的時間可能會導致延遲。 在那種情況下,這將是一件壞事。

最后,重要的是確保您的FPS一直很高。 如果您的FPS因“金屬沖洗”而下降,您可能想要嘗試將數據傳輸空間化 - 例如,以塊的形式存儲紋理和/或使用較低分辨率的紋理可能會有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM