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管线 ...
随机推荐
- python用户登录,密码错误3次则锁定
需求: 1.输入用户名密码 2.认证成功后显示欢迎信息 3.输错三次后锁定 实现思路: 1.判断用户是否在黑名单,如果在黑名单提示账号锁定. 2.判断用户是否存在,如果不存在提示账号不存在. 3.判断 ...
- bootstrap——集合
1.<nav class="navbar navbar-inverse"> inverse,反色,原导航条为白色,加-inverse后改为黑色 2.data-tog ...
- phpstudy2014没有mysqldumpslow.pl及其在性能优化的作用
mysqldumpslow.pl的作用是监控mysql的性能瓶颈的 1)在phpstudy2014中没有这个mysqldumpslow.pl所以需要去下载一个然后放置于mysql/bin的文件夹中,由 ...
- jQuery鼠标悬停文字渐隐渐现动画效果
jQuery鼠标悬停文字渐隐渐现动画效果 当时是做项目的时候用到的所以图片有些大,九张,真正要做图片不需要这么大 css样式 <style> *{ margin: 0; padding: ...
- Log4Net的控制台,WinForm,WebApplication使用
一.Log4Net的控制台,WinForm,WebApplication使用 1.首先使用nuget 添加log4Net 到控制台项目中 log4j每个符号的具体含义:%d %5p %c{1}:%L ...
- SQL语句中的select高级用法
#转载请联系 为了更好的了解下面的知识点,我们先创建两张表并插入数据. # 学生表 +----+-----------+------+--------+--------+--------+------ ...
- MYECLIPSE中快速解决项目的错误的方法
Use the IDE's help as follows:- Right mouse click on the error in the 'Problems' view- Select the 'Q ...
- laravel自定义公共函数
1.在app/Helpers/下新建一个文件functions.php,当然这个文件位置和名称你可以自己定义,创建一些函数用于全局调用: 2.在composer.json中的autoload下增加如下 ...
- js跳转整理(简记)
location.replace(URL)跳转脱离历史记录流: location.href=url;在历史记录中 子刷新父级 parent.location.replace(parent.locati ...
- CF 1005B Delete from the Left 【模拟数组操作/正难则反】
You are given two strings s and t. In a single move, you can choose any of two strings and delete th ...