zoukankan      html  css  js  c++  java
  • 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访问

  • 相关阅读:
    结巴分词 0.14 版发布,Python 中文分词库
    Lazarus 1.0.2 发布,Pascal 集成开发环境
    Android全屏 去除标题栏和状态栏
    服务器日志现 Android 4.2 传将添多项新特性
    Percona XtraBackup 2.0.3 发布
    长平狐 Android 强制设置横屏或竖屏 设置全屏
    NetBeans 7.3 Beta 发布,全新的 HTML5 支持
    CppDepend现在已经支持Linux
    GromJS 1.7.18 发布,服务器端的 JavaScript
    Apache OpenWebBeans 1.1.6 发布
  • 原文地址:https://www.cnblogs.com/minggoddess/p/8820540.html
Copyright © 2011-2022 走看看