Re: [程式] CPU會等GPU嗎?

作者: justinlcs (班班)   2014-06-11 19:24:40
※ 引述《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收到指令完成運算時所消耗的時間
我所了解的程度有限,希望可以幫上忙
作者: lovesnake (LoyalDog)   2014-06-11 19:58:00
如果程式內還有很多Coroutine,而且跟Render無關這樣CPU在等GPU的期間會去執行嗎?如果會的話在Render前後抓時間,也可能包含Coroutine所消耗的時間囉?
作者: justinlcs (班班)   2014-06-11 20:14:00
我不太理解你的Coroutine是指什麼,但是和Render無關那情況就非常難說,非常的depend而且還要看你API能夠存取的層次如果你有很多Thread會影響你的Render Thread,那這個問題我回答不出來,還是要看你的程式如何實作
作者: Killercat (殺人貓™)   2014-06-12 08:17:00
你講的問題完全看遊戲怎麼寫啊... XD

Links booklink

Contact Us: admin [ a t ] ucptt.com