中易网

3d手游drawcall大概是多少

答案:2  悬赏:30  
解决时间 2021-02-07 21:03
3d手游drawcall大概是多少
最佳答案
draw call是openGL的描绘次数(directX没怎么研究,但原理应该差不多)
一个简单的openGL的绘图次序是:设置颜色→绘图方式→顶点座标→绘制→结束。
每帧都会重复以上的步骤。这就是一次draw call

如果有两个model,那么需要
设置颜色→绘图方式→顶点座标A→绘制→结束。
设置颜色→绘图方式→顶点座标B→绘制→结束。
两次draw calls;
也就是说在openGl绘制前,如果色彩通道(color filter),绘图方式(shader),顶点座标(model)不同的情况下draw calls就会增加。

对openGl来说绘制参数(状态值)的变更要比绘制大量的顶点更耗费cpu。

所谓高速绘图就是,在尽量不改变openGl状态值的情况下,用一次draw call完成所有绘制。
比如上面的例子:
设置颜色→绘图方式→顶点座标A+顶点座标B→绘制→结束。
就要更加有效率。

个人估计unity3d的dynamic batch,static batch都是通过一定的方法使不同的object的顶点座标能够结合成一个整体,达到减少draw calls的效果。
但是有一定的要求限制,比如material要相同,mesh要相同并在300个面以内等等,这些都是为了保证openGl的状态值不改变。

Unity在 Player Setting 里的两个功能选项 Static Batching 与 Dynamic Batching。功能描述如下:

Static Batching 是将标明为 Static 的静态物件,如果在使用相同材质球的条件下,Unity 会自动帮你把这两个物件合并成一个 Batch,送往 GPU 来处理。这功能对效能上非常的有帮助,所以是需要付费才有的。
Dynamic Batching 是在物件小于300面的条件下(不论物件是否为静态或动态),在使用相同材质球下,Unity就会自动帮你合合并成一个 Batch 送往 GPU 来处理。
全部回答
举个例子:如果你的目标是游戏跑30fps、使用2ghz的cpu、20š„工作量拨给draw call来使用,那你每秒可以有多少draw call呢? 333 batchs/frame = 25k * 2 * (0.2/30) 那既然 batch 是个箱子,里头装着物件的顶点资料,再依据我们上面的描述,那表示同样材质或 shader 的物件,可以合并成一个 batch 送往 gpu,这样就是最省事的方法! unity在 player setting 里的两个功能选项 static batching 与 dynamic batching。功能描述如下: static batching 是将标明为 static 的静态物件,如果在使用相同材质球的条件下,unity 会自动帮你把这两个物件合并成一个 batch,送往 gpu 来处理。这功能对效能上非常的有帮助,所以是需要付费才有的。 dynamic batching 是在物件小于300面的条件下(不论物件是否为静态或动态),在使用相同材质球下,unity就会自动帮你合合并成一个 batch 送往 gpu 来处理。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
营业执照年检企业资产情况 这个要怎样填写?
赛尔号怎样得到海盗套装
菲律宾电影 《破晓残恋》下载地址? 万分感谢
什么是水泵对轮
洋河蓝色经典梦之蓝桂林总经销在什么地方啊,
巽区是什么位置
哚维手机屏幕上方老是发热电池耗电快是什么原
我有一个QQ正在申诉中。。登陆DNF的时候说我
大桥镇惠民农贸市场在哪里啊,我有事要去这个
狗咬过了一件东西,我又碰过了,吃饭前我也用香
雕刻面大的骰子出的几率大还是小
锐思赛车学校这个地址在什么地方,我要处理点
关于if与else if的语言
一个月房租+水电总共大概多少
〔素描〕我想要人体结构的一些资料和图解
推荐资讯
网上买机票无需配送是什么意思
取二建证需要劳动合同,合同上没有劳动局鉴证
找一穿越小说(在潇湘看的):女主是丞相(或
爱婴妈妈孕婴用品店地址有知道的么?有点事想
金恒德汽配城1期地址有知道的么?有点事想过
上铺蓬礁在什么地方啊,我要过去处理事情
到哪里找 冷血总裁别惹我全文?
我的中信银行信用卡下来了 拿身份证去面签 第
有时总是纠结数字,四和死是谐音,很多人很迷
小田手机直销卖场这个地址在什么地方,我要处
我是在外面打工的,十几年没回家,身上最多能
河南大学好还是河南洛阳大学好
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?