GameDesign 板


LINE

※ 引述《lovesnake (LoyalDog)》之铭言: : ※ 引述《justinlcs (班班)》之铭言: : : ^^^^^^^^ : : interrupt : : 看你程式怎麽写,但是通常Render Thread只会有一个的情况下,CPU送东西给GPU之後, : : 大部分显示引擎会等到结果返回才进行下一次的render,要不然资源存取很容易打架 : : 大多数的引擎都会等,一个render结束才会执行下一个。 : : 在软体层面来说,可以取得的时间只有 : : 可以取得CPU准备资料所消耗的时间 : : 可以取得CPU送指令给GPU所消耗的时间 + GPU收到指令返回结果所消耗时间的"总和" : : 无法从软体面单独取得CPU送资料给GPU消耗的时间 : : 无法从软体面单独取得GPU收到指令完成运算时所消耗的时间 : : 我所了解的程度有限,希望可以帮上忙 : 所用的是最底层的API OpenGL. : 主程式可能有很多Thread,Timer、AI、Physics、Rendering等等。 : 我想知道的是,今天当CPU把Draw Call送给GPU後,是否会将RenderingThread Block, : 然後执行其他的Thread,还是Busy-Waiting等到GPU处理完? Render Thread是Render Thread CPU在Render Thread丢资料给GPU之後就是等,在等的时候CPU自然会做其他Thread的事情 : 或者今天为单一Process,OpenGL的Display Function前後包夹clock(); : 他会直接把Display处理完丢给GPU,然後直接继续执行,然後等下一次要Display时,再 : Wait GPU的Interrupt? : 还是会等GPU执行完以後才继续下面的程式呢? 如果你所有的逻辑设计包含Render都是在同一个Main Thread里面, 也就是说你整支程式就只有一个Thread,当然会等GPU作完才会执行下一步 但是如果不是,那答案就很不一定,因为一般游戏引擎绝对有很多个Thread 然後由一个Main Thread下达命令,例如 Main Thread中你下达了PlaySound()的call 实际上把播放的声音送到 Sound Quene 之中然後再由另一个Sound Thread去播放 Render也是如此,要Render的东西送到Render Quene,由Render Thread一一绘制 但是Render Thread会比单纯播放声音复杂很多,解释起来可以讲很多, 而且实作的方式不同又可能是另一个故事,所以这里不多做解释 因为要call的系统资源种类太多,例如载入材质可能又有一个Loading Thread, Network又是另一个Thread,诸如此类...这也是为何许多游戏引擎的API, 相关的资源都会实做一个Singleton的Manager,例如Sound Manager, Texture Manager, Control Manager, AI, GPU, Shader, Map, Decal, Mesh, Physics, Network, Memeory, Animation, Buffer, Tick, Post Effect, Render, Render World, Font, Logic, Sence....等等以非同步的方式 通常是用Observer模式实做来订阅并触发各种事件来交换讯息和进行动作 总而言之,如果你是把所有的逻辑都写在同一个Thread,那麽绝对绝对是上一步做完 才会执行下一步 如果是好几个Thread,考量非同步资料的运作方式会有很多种不同的答案。 **补充 我可能有点答非所问,如果你的问题是指compiler在编译程式时, 是用Single Thread去模拟Multi Thread的选项,如果是这种情况, 那麽执行过程中所有的行为都会影响到Render的时间 --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.34.226.114
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/GameDesign/M.1402492372.A.8B8.html ※ 编辑: justinlcs (1.34.226.114), 06/11/2014 21:28:07







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:iOS站内搜寻

TOP