• 天津宣讲十九大:津沽大地舞春风,小康路上添豪情 2019-05-21
  • 酱香酒为什么要在端午时节制曲微生物 酒曲 2019-05-20
  • 回复@艾鸣1:你看强坛除了小寻子这种跟你一样老蚕的人之外,有人会有人敢支持你么? 2019-05-15
  • 中国经济稳中向好的发展态势没有变 2019-05-14
  • 私扫码付不加控制党政和人行国有银行国有企业自动退出历史舞台 2019-05-11
  • 你真没一点脑子,文字是哪个人的,你到说说啊 2019-05-04
  • 黎明华丽转身成监制 他给四川金丝猴拍了部动画片 2019-05-04
  • 候选案例:爱在华住滇西北宿改工程 2019-05-02
  • 山西寿阳:竹马戏演员的台前幕后 2019-04-26
  • 96次航拍峨眉 换个角度看巴蜀名山 中国国家地理网 2019-04-23
  • 俄罗斯电影《最后一球》定档落魄球星遇上菜鸟球队 2019-04-21
  • 【理上网来·辉煌十九大】缅甸资深媒体人高度评价习近平十九大报告:立意高远 内涵丰富 2019-04-21
  • 特朗普和金正恩先后抵达嘉佩乐酒店 会晤即将开始 2019-04-17
  • 中国侨联直属机关党委举办党务干部培训班 2019-04-17
  • 上海合作组织青岛峰会举行 2019-04-07
  • 福建36选7走势图500: 士郎 粗略判断Shader每条代码的成本

    13
    回复
    2578
    查看
    打印 上一主题 下一主题
    [ 复制链接 ]
    排名
    1
    昨日变化

    福建36选7和值走势图 www.00-na.com 7741

    主题

    8296

    帖子

    3万

    积分

    Rank: 16

    UID
    1231
    好友
    186
    蛮牛币
    10543
    威望
    30
    注册时间
    2013-7-29
    在线时间
    3975 小时
    最后登录
    2019-5-21

    活力之星原创精华达人突出贡献奖财富之证游戏蛮牛QQ群会员蛮牛妹VIP

    马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

    您需要 登录 才可以下载或查看,没有帐号?注册帐号

    x


    Unity对Shader文件进行编译的时候,DX9和DX11的版本会直接生成汇编码。


    [AppleScript] 纯文本查看 复制代码
    length(i.worldPos)


    DX9


    [AppleScript] 纯文本查看 复制代码
    dp4 r0.x, v0, v0
    rsq r0.x, r0.x
    rcp_pp oC0, r0.x


    DX11

    [AppleScript] 纯文本查看 复制代码
    dp4 r0.x, v1.xyzw, v1.xyzw
    sqrt o0.xyzw, r0.xxxx

    由于这些代码是最终的指令,大部分指令执行时间是“差不多”的,可以用来预估计算量。但移动平台则是各厂商驱动各自进行的编译,各家都不一样,不好判断。


    但DX9毕竟针对的是非常古老的硬件,很难想象现代GPU还会和它保持一样。实际的指令应该会更接近于DX11。



    以下为列表(用|隔开的数据,前面的部分是计算单分量时的指令数,后面的部分是计算float4时的指令数)




    总结一下便是:
    • 反三角函数非常费
    • abs和saturate是免费的
    • 除了反三角函数外,fmod和smoothstep比预期更费
    • log,exp,sqrt(单分量)的成本实际上很低,所以由他们组合成的pow也不高
    • sin,cos在DX11使用了专门一条单指令,成为了低成本函数
    另外还有个基本常识:绝大部分GPU是一次性计算4个分量,计算一个float4和只计算单个float耗时是一样的。当计算float时,剩下三个分量的时长会被浪费。





    然而,每条指令的时间成本确实可能是不一样的。这个和具体硬件有关。
    很难找到移动平台具体GPU的数据,可以参考下文看看一些主流GPU的情况,相信他们总是有一些共性的。



    结果是,1/x, sin(x), cos(x), log2(x), exp2(x), 1/sqrt(x)这些指令的时间成本是一样的,而且和普通的四则运算很接近(个人猜测是通过查表实现的)。
    但是sin,cos毕竟在旧硬件上成本较高,由于不清楚硬件的具体情况,还是要尽可能少用。




    预估成本还有一个办法,是根据公开的GPU的GFLOPS(Floating-point Operations Per Second每秒执行浮点运算次数)来评估每个着色器理论极限算力,便能知道一个着色器里可以允许多少条基本指令。


    这当然很不精确,因为纹理采样,顶点,光栅化等等众多成本都没有考虑在内,但是有一定的参考价值。
    iPhone 4s使用的芯片是Apple A5,它的FLOPS是12.8G,屏幕分辨率是960x640,分到一帧的一个像素后,结果是
    12.8*1024^3/960/640/60 = 372。


    根据FLOPS的定义,时间最短的基本指令“乘加(MAD)”需要花掉2FLOPS,那么单个屏幕像素能执行186条指令。
    假设Overdraw是5,那么一个像素着色器能执行37指令。





    虽然37指令这个结果显然比实际多多了,但起码是在合适的数量级范围内??梢酝ü÷什馐岳醇扑恪八鸷谋壤钡降资嵌嗌?。
    而且,这样做我们其实得到了一个上限值。如果你在像素单元的指令数超过了37(比如用了两次atan2),那从物理角度是绝对不可能达到满帧的。
    知乎@flashyiyi




    点评

    hao  发表于 2018-11-4 12:51
    6蛮牛粉丝
    1112/1500
    排名
    2807
    昨日变化

    0

    主题

    271

    帖子

    1112

    积分

    Rank: 6Rank: 6Rank: 6

    UID
    2623
    好友
    0
    蛮牛币
    1978
    威望
    0
    注册时间
    2013-8-26
    在线时间
    320 小时
    最后登录
    2019-5-11
    沙发
    2018-11-2 12:25:55 只看该作者
    7日久生情
    1674/5000
    排名
    1483
    昨日变化

    7

    主题

    245

    帖子

    1674

    积分

    Rank: 7Rank: 7Rank: 7Rank: 7

    UID
    220815
    好友
    7
    蛮牛币
    1691
    威望
    0
    注册时间
    2017-5-5
    在线时间
    534 小时
    最后登录
    2019-5-10
    QQ
    板凳
    2018-11-2 16:27:36 只看该作者
    底层有毒
    7日久生情
    2019/5000
    排名
    1896
    昨日变化

    41

    主题

    740

    帖子

    2019

    积分

    Rank: 7Rank: 7Rank: 7Rank: 7

    UID
    214924
    好友
    4
    蛮牛币
    18112
    威望
    0
    注册时间
    2017-3-28
    在线时间
    522 小时
    最后登录
    2019-5-21
    地板
    2018-11-2 17:52:07 只看该作者
    这个666啊
    3偶尔光临
    155/300
    排名
    10594
    昨日变化

    0

    主题

    13

    帖子

    155

    积分

    Rank: 3Rank: 3Rank: 3

    UID
    297755
    好友
    0
    蛮牛币
    91
    威望
    0
    注册时间
    2018-9-20
    在线时间
    44 小时
    最后登录
    2019-3-19
    5#
    2018-11-3 10:07:04 只看该作者
    谢谢分享,请问shader里使用if else耗时吗,dx11是怎样计算的?
    6蛮牛粉丝
    1369/1500
    排名
    1980
    昨日变化

    0

    主题

    269

    帖子

    1369

    积分

    Rank: 6Rank: 6Rank: 6

    UID
    68040
    好友
    0
    蛮牛币
    1957
    威望
    0
    注册时间
    2015-1-13
    在线时间
    416 小时
    最后登录
    2019-5-21
    6#
    2018-11-3 20:24:23 只看该作者
    哇,可以放心的使用三角函数了
    7日久生情
    2514/5000
    排名
    781
    昨日变化

    1

    主题

    710

    帖子

    2514

    积分

    Rank: 7Rank: 7Rank: 7Rank: 7

    UID
    56496
    好友
    0
    蛮牛币
    7769
    威望
    0
    注册时间
    2014-11-19
    在线时间
    585 小时
    最后登录
    2019-5-21
    7#
    2018-11-6 09:05:59 只看该作者
    好毒啊~
    7日久生情
    1532/5000
    排名
    3443
    昨日变化

    0

    主题

    893

    帖子

    1532

    积分

    Rank: 7Rank: 7Rank: 7Rank: 7

    UID
    210390
    好友
    0
    蛮牛币
    1827
    威望
    0
    注册时间
    2017-3-7
    在线时间
    205 小时
    最后登录
    2019-5-16
    8#
    2018-11-6 09:41:48 只看该作者
    7日久生情
    2253/5000
    排名
    1620
    昨日变化

    0

    主题

    756

    帖子

    2253

    积分

    Rank: 7Rank: 7Rank: 7Rank: 7

    UID
    148286
    好友
    0
    蛮牛币
    3804
    威望
    0
    注册时间
    2016-5-11
    在线时间
    697 小时
    最后登录
    2019-5-21
    9#
    2018-11-6 20:23:41 只看该作者
    排名
    13482
    昨日变化

    0

    主题

    14

    帖子

    99

    积分

    Rank: 2Rank: 2

    UID
    297033
    好友
    0
    蛮牛币
    192
    威望
    0
    注册时间
    2018-9-14
    在线时间
    21 小时
    最后登录
    2018-12-21
    10#
    2018-11-7 09:15:32 只看该作者
    真心不错
    排名
    13482
    昨日变化

    0

    主题

    14

    帖子

    99

    积分

    Rank: 2Rank: 2

    UID
    297033
    好友
    0
    蛮牛币
    192
    威望
    0
    注册时间
    2018-9-14
    在线时间
    21 小时
    最后登录
    2018-12-21
    11#
    2018-11-9 10:59:20 只看该作者
    排名
    31429
    昨日变化

    1

    主题

    24

    帖子

    46

    积分

    Rank: 1

    UID
    26506
    好友
    1
    蛮牛币
    27
    威望
    0
    注册时间
    2014-5-24
    在线时间
    11 小时
    最后登录
    2018-11-11
    12#
    2018-11-11 11:38:46 只看该作者
    专业 这个厉害了
    7日久生情
    2195/5000
    排名
    2612
    昨日变化

    2

    主题

    1105

    帖子

    2195

    积分

    Rank: 7Rank: 7Rank: 7Rank: 7

    UID
    209046
    好友
    0
    蛮牛币
    3012
    威望
    0
    注册时间
    2017-3-30
    在线时间
    534 小时
    最后登录
    2019-5-21
    13#
    2018-11-12 08:46:38 只看该作者
    很棒
    您需要登录后才可以回帖 登录 | 注册帐号

    本版积分规则

  • 天津宣讲十九大:津沽大地舞春风,小康路上添豪情 2019-05-21
  • 酱香酒为什么要在端午时节制曲微生物 酒曲 2019-05-20
  • 回复@艾鸣1:你看强坛除了小寻子这种跟你一样老蚕的人之外,有人会有人敢支持你么? 2019-05-15
  • 中国经济稳中向好的发展态势没有变 2019-05-14
  • 私扫码付不加控制党政和人行国有银行国有企业自动退出历史舞台 2019-05-11
  • 你真没一点脑子,文字是哪个人的,你到说说啊 2019-05-04
  • 黎明华丽转身成监制 他给四川金丝猴拍了部动画片 2019-05-04
  • 候选案例:爱在华住滇西北宿改工程 2019-05-02
  • 山西寿阳:竹马戏演员的台前幕后 2019-04-26
  • 96次航拍峨眉 换个角度看巴蜀名山 中国国家地理网 2019-04-23
  • 俄罗斯电影《最后一球》定档落魄球星遇上菜鸟球队 2019-04-21
  • 【理上网来·辉煌十九大】缅甸资深媒体人高度评价习近平十九大报告:立意高远 内涵丰富 2019-04-21
  • 特朗普和金正恩先后抵达嘉佩乐酒店 会晤即将开始 2019-04-17
  • 中国侨联直属机关党委举办党务干部培训班 2019-04-17
  • 上海合作组织青岛峰会举行 2019-04-07