作者justinlcs (班班)
看板GameDesign
标题Re: [程式] CPU会等GPU吗?
时间Wed Jun 11 19:24:40 2014
※ 引述《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://webptt.com/cn.aspx?n=bbs/GameDesign/M.1402485883.A.C0D.html
1F:推 lovesnake:如果程式内还有很多Coroutine,而且跟Render无关 06/11 19:58
2F:→ lovesnake:这样CPU在等GPU的期间会去执行吗? 06/11 19:58
3F:→ lovesnake:如果会的话在Render前後抓时间,也可能包含Coroutine 06/11 20:00
4F:→ lovesnake:所消耗的时间罗? 06/11 20:00
5F:→ justinlcs:我不太理解你的Coroutine是指什麽,但是和Render无关 06/11 20:14
6F:→ justinlcs:那情况就非常难说,非常的depend 06/11 20:15
7F:→ justinlcs:而且还要看你API能够存取的层次 06/11 20:17
8F:→ justinlcs:如果你有很多Thread会影响你的Render Thread,那这个 06/11 20:25
9F:→ justinlcs:问题我回答不出来,还是要看你的程式如何实作 06/11 20:26
10F:推 Killercat:你讲的问题完全看游戏怎麽写啊... XD 06/12 08:17