看板 GameDesign 關於我們 聯絡資訊
※ 引述《lovesnake (LoyalDog)》之銘言: : CPU把Batch丟給GPU以後,會等GPU Interapt才繼續該Process/Thread嗎? ^^^^^^^^ interrupt 看你程式怎麼寫,但是通常Render Thread只會有一個的情況下,CPU送東西給GPU之後, 大部分顯示引擎會等到結果返回才進行下一次的render,要不然資源存取很容易打架 : 還是就直接繼續跑,不管GPU了? 大多數的引擎都會等,一個render結束才會執行下一個。 : 問這個問題主要是想知道在Render前後抓時間,抓到的到底是只有 : CPU的執行時間還是連GPU的都抓得到。 在軟體層面來說,可以取得的時間只有 可以取得CPU準備資料所消耗的時間 可以取得CPU送指令給GPU所消耗的時間 + GPU收到指令返回結果所消耗時間的"總和" 無法從軟體面單獨取得CPU送資料給GPU消耗的時間 無法從軟體面單獨取得GPU收到指令完成運算時所消耗的時間 我所了解的程度有限,希望可以幫上忙 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.34.226.114 ※ 文章網址: http://www.ptt.cc/bbs/GameDesign/M.1402485883.A.C0D.html
lovesnake:如果程式內還有很多Coroutine,而且跟Render無關 06/11 19:58
lovesnake:這樣CPU在等GPU的期間會去執行嗎? 06/11 19:58
lovesnake:如果會的話在Render前後抓時間,也可能包含Coroutine 06/11 20:00
lovesnake:所消耗的時間囉? 06/11 20:00
justinlcs:我不太理解你的Coroutine是指什麼,但是和Render無關 06/11 20:14
justinlcs:那情況就非常難說,非常的depend 06/11 20:15
justinlcs:而且還要看你API能夠存取的層次 06/11 20:17
justinlcs:如果你有很多Thread會影響你的Render Thread,那這個 06/11 20:25
justinlcs:問題我回答不出來,還是要看你的程式如何實作 06/11 20:26
Killercat:你講的問題完全看遊戲怎麼寫啊... XD 06/12 08:17