• mipmap 二


    mipmap 之前讲了生成 原理

    这个讲下我对性能的理解

    mipmap 

    对性能的影响

    包含两方面

    minification时,采样多个textel得到1个pixel颜色,如果是mipmap形成相邻两个pixel的两组textels更为接近 会都在tex cache里面 

    1.这样cache命中,速度快,

    2.带宽减小,没有又从tex到cache来读取数据

    我之前有一种错误认识 带宽和texturesize有关,其实只和 sample filter---point 1, bilinear 4, trilinear 8(mipmap level之间)fragment 有多少个(resolution决定) 有关

    带宽 

    Memory Bandwidth 定义是prosser到memeory的data rate  GB/s

    fragement的带宽包括采样tex 和绘制到color buffer &depth buffer这两部分  对mipmap来说 tex cache命中增加 减小了采样tex的带宽

    CPU到GPU之间的数据 这部分mipmap bind一次 8张全部绑定 每帧每次drawcall 前bindtexture-----这部分也许或许应该 至少不是GPU带宽-------不知道对不对

    这部分肯定是有的,bindtexture 虽然可以是只传地址 但是资源肯定要从内存到显存 每次drawcall走一次 除非想Nintendo那样共享memory

    mipmap是增加了这部分 数据传输 但是这个量太低了  一帧大概100次 X一组mipmap那么大  和GPU内部数据量不能比------也是不那么确定的的

    https://msdn.microsoft.com/en-us/library/windows/desktop/ff476259(v=vs.85).aspx

    memory有这几种类型default 类型只给GPU rw 只给GPU访问的这块memory是直接开在显存还是开在内存 呢呢呢 需要查资料 

    从游戏开始加载资源就开这块memory 从硬盘把texture数据加过去 就不是每帧 每次drawcall往显存传数据了

    default 是显存 references :Practical Rendering and Computation with Direct3D 11 这个吧

    没必要放system memory 只能gpu访问

  • 相关阅读:
    【待补充】Spark 集群模式 && Spark Job 部署模式
    Spark 集群管理命令
    Spark job 部署模式
    [Spark Core] Spark 核心组件
    [Spark RDD_1] RDD 基本概念
    【读书笔记】《天才在左 疯子在右》
    [Spark Core] Spark 使用第三方 Jar 包的方式
    [Spark Core] 在 Spark 集群上运行程序
    【待补充】[Spark Core] Spark 实现标签生成
    Spark 集群搭建
  • 原文地址:https://www.cnblogs.com/minggoddess/p/8820540.html
Copyright © 2020-2023  润新知