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访问
mipmap 二的更多相关文章
- RoboGuice 3.0 (二)进阶篇
上篇介绍了RoboGuice的接入及基本使用,其中涉及到了一个@Singleton和@ContextSingleton的注解,这些都是作用域的注解,这篇我们先说明有关作用域的问题. 一.作用域 Sco ...
- Android BLE 蓝牙编程(二)
大家中秋快乐啊--哈哈,今天继续工程项目吧! 上篇我们已经实现了蓝牙设备的扫描,本篇我们来通过list展示扫描到的设备并 实现点击连接. 先贴出上篇的完整的MainActivity的方法: packa ...
- Android zxing 解析二维码,生成二维码极简demo
zxing 官方的代码很多,看起来很费劲,此demo只抽取了有用的部分,实现了相机预览解码,解析本地二维码,生成二维码三个功能. 简化后的结构如下: 废话少说直接上代码: BaseDecodeHand ...
- Android项目实战(二十三):仿QQ设置App全局字体大小
一.项目需求: 因为产品对象用于中老年人,所以产品设计添加了APP全局字体调整大小功能. 这里仿做QQ设置字体大小的功能. QQ实现的效果是,滚动下面的seekbar,当只有seekbar到达某一个刻 ...
- Unity 用户手册用户指南二维纹理 (Texture 2D)
http://www.58player.com/blog-2327-953.html 二维纹理 (Texture 2D) 纹理 (Textures) 使您的 网格 (Meshes).粒子 (Parti ...
- Android学习笔记(二十一)——实战:程序数据共享
//此系列博文是<第一行Android代码>的学习笔记,如有错漏,欢迎指正! 我们继续在Database项目的基础上继续开发,通过内容提供器来给它加入外部访问接口.首先将 MyDataba ...
- MipMap与三线性过滤
现代计算机图形管线渲染图像的方法是处理这两个问题: 1 3D世界的几何图元如何投影成2D图元,进而对应到屏幕的哪些像素 2 根据已有的信息(光照,法向量,贴图),每个像素点应该怎样设置颜色 根据这两个 ...
- Direct3D11学习:(二)基本绘图概念和基本类型
转载请注明出处:http://www.cnblogs.com/Ray1024 一.概述 在正式开始学习D3D11之前,我们必需首先学习必要的基础知识. 在这篇文章中,我们将介绍一下Direct3D ...
- NeHe OpenGL教程 第二十二课:凹凸映射
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
随机推荐
- JSP页面中格式化日期为指顶格式
有时候在页面中显示直接从数据库获取的日期时候会出现英文的日期格式.比如:
- python基础之函数(自定义函数)
函数: 函数的定义: 初中数学函数定义:一般的,在一个变化过程中,如果有两个变量x和y,并且对于x的每一个确定的值,y都有唯一确定的值与其对应,那么我们就把x称为自变量,把y称为因变量,y是x的函数. ...
- SVN被锁定解决办法
转自:https://blog.csdn.net/strwangfan/article/details/78748393: 今天用SVN的时候出现被锁定的情况,既不能更新代码也不能提交. 解决方法如下 ...
- echarts地图自定义任意区域
这里可以直接在地图上框选区域,右侧会自动生成geojson
- selenium+python自动化77-autoit文件上传【转载】
前言 关于非input文件上传,点上传按钮后,这个弹出的windows的控件了,已经跳出三界之外了,不属于selenium的管辖范围(selenium不是万能的,只能操作web上元素).autoit工 ...
- k8s的应用打包工具Helm
每个成功的软件平台都有一个优秀的打包系统,比如 Debian.Ubuntu 的 apt,Redhat.Centos 的 yum.而 Helm 则是 Kubernetes 上的包管理器. 本章我们将讨论 ...
- k8s通过secret管理敏感信息
应用启动过程中可能需要一些敏感信息,比如访问数据库的用户名密码或者秘钥.将这些信息直接保存在容器镜像中显然不妥,Kubernetes 提供的解决方案是 Secret. Secret 会以密文的方式存储 ...
- 5分钟在Mac上从0配置安装laravel5.5
1.安装包管理工具homebrew ,相当于ubuntu的apt-get 在iTerm命令行输入: /usr/bin/ruby -e "$(curl -fsSL https://raw.gi ...
- dfs序学习总结
dfs序: 每个节点在dfs中的进出栈的时间序列. 树是非线性结构,根节点连着子节点,那么dfs序...节点进出栈的时间先后? 从根节点入栈,然后左儿子入栈,左儿子出栈,右儿子入栈,右儿子出栈,根节点 ...
- hdu6156
hdu6156 题意 求 \([2, 36]\) 进制下,给定区间内的数是回文数的个数.每存在一个回文数,答案加上该回文数的进制. 分析 10进制下回文数是 数位DP 很常见的问题,这道题只需要把在转 ...