• fragment shader的优化


    ALU:

    浮点数精度 选择性降低

    shader 指令数 替换一些计算减小指令sqrtsincosrecip

    光照 计算用lightmap(用memory sample换计算)

    vertex light(tbdr 不推荐 vs开销太大)

    look up texture

    Mem:

    最后一段 textuer fetch bound register pressure

    CBV:

    register counts 

    fragement shader的 变量也会成为flight的瓶颈 所以确认瓶颈很重要

    因为register counts的限制 一个shader用了太多变量 并行起来的shader个数就会受到限制

    还有个值得注意的地方

    需要关注vs--ps之间插值数据大小

    control flow:

      分支 循环

    数据同步的wait

    从外面来解决这个问题 overdraw 直接把不需要计算的shader去掉(zprepass or hsr) 降低resolution

    ===================

    vs

    频繁更新的 vertex buffer 数据和基本不更新的数据分两块buffer放 有效利用cache

  • 相关阅读:
    实验三 进程调度模拟程序
    实验二作业调度模拟程序实验报告
    实验8
    实验七
    实验六
    实验五 数独游戏界面设置
    实验五
    实验四
    实验三
    实验二
  • 原文地址:https://www.cnblogs.com/minggoddess/p/9971710.html
Copyright © 2020-2023  润新知