有关mrt的在tbdr的架构下的内存排布

system memory肯定是dither 我对这里把握比较大

rt0 rgba8 rt1 r8

这样像素排列是rgba8r8rgba8r8rgba8r8.......

在tile上我倾向也是这么排的

所以如果rt多了 也会像msaa一样 增加tile数量

但是这个事情有个上限 比如powervr sgx5 是256bits(大概) 多了它就会system local来回倒腾了

然后如果解绑rt1

tile上的mem需要变成rgba8rgba8....所以。。会触发一次system到local mem的copy

so 这里有带宽

去掉的方法是用programmable blending

这个扩展 ogl 和metal都有相应功能

可以拿到前一次drawcall的像素 其实是tile mem上的像素内容

这样 对于一类问题

一个rt即使srv又是rtv这类问题很有帮助

这样就不需要解绑或者copy了

但是 这个扩展只能处理当前pixel的历史像素内容

拿不到隔壁像素 所以那些uv有offset的都略尴尬

所以这个方案只能解决depth作为srv的事情 reflection和distorsion需要另想解决方案

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

上文中的refs没标

mark一篇还没看的 mali

https://community.arm.com/developer/tools-software/graphics/b/blog/posts/the-mali-gpu-an-abstract-machine-part-1---frame-pipelining

openglinsight

realtime rendering 4

和siggraph 的advances in realtime rendering  啥时候看啊。。啊啊。

 https://developer.qualcomm.com/qfile/28557/80-nu141-1_b_adreno_opengl_es_developer_guide.pdf 
mali adreno...
--------------------------------------------
tbdr 上解绑一张mrt会导致一次system 到local的 flush增加带宽
解决方案
用frame buffer fetch 这个扩展在es3.0之后是在tile上做的 可以省掉这次带宽
就是frame buffer fetch depth stencil这个扩展 只在arm上目前没看到别的平台 这样别的平台的depth还要用mrt往外写一次 真麻烦

tbdr+mrt的更多相关文章

  1. Tile based Rendering 二 tbr and tbdr 优化建议tiled based deferred rendering

    http://www.seas.upenn.edu/~pcozzi/OpenGLInsights/OpenGLInsights-TileBasedArchitectures.pdf tbr 和tbdr ...

  2. KlayGE 4.4中渲染的改进(一):只需要SM3的TBDR

    转载请注明出处为KlayGE游戏引擎,本文的永久链接为http://www.klayge.org/?p=2736 KlayGE从4.0开始引入deferred rendering层(DR),并且这几个 ...

  3. MODIS批量处理软件MRT的安装说明

    最近在处理遥感影像的时候遇见了MODIS影像数据,从中MOD13中提取NDVI是相当的重要.在一番的百度之中找到了处理modis影像的神器------MRT 接下来我来说明一下MRT的具体安装,如果之 ...

  4. HDR Defered Shading (using MRT)

    http://http.download.nvidia.com/developer/SDK/Individual_Samples/DEMOS/Direct3D9/DeferredShading.zip ...

  5. TBDR缺点

    TBDR全称Tile-based Deferred Rendering.它是Power VR独特的TBR技术的一种延伸实现手段.TBR/TBDR通过将每一帧画面划分成多个矩形区域,并对区域内的全部像素 ...

  6. OpenGL ES中MRT应用

    Demo涵盖了OpenGL ES 3.0 的一系列新特性: 1.VAO和VBO 2.帧缓冲对象 3.MRT 效果: 代码: //yf's version #define STB_IMAGE_IMPLE ...

  7. MRT与MRTS工具官宣退休,推荐使用HEG

    今天错误的删除搞丢了之前下载的MRT与MRTS工具,浏览Modis官网下载时发现找不到了,后来在其官网上发现了这则通知,原来早已停止更新的MRT这次彻底退修了.通知原文如下~~~ The downlo ...

  8. windows恶意软件删除工具(MRT.exe)检查计算机是否感染病毒使用图解

    Microsoft Windows恶意软件删除工具可以检查运行 Windows XP.Windows 2000 和 Windows Server 2003 的计算机是否受到特殊.流行的恶意软件(包括 ...

  9. GLSL使用FBO实现MRT(Multiple Render Targets)绘制到多张纹理 【转】

    项目的程序里设计需要将某一帧渲染出来的画面拆成三通道单色图像存到三张纹理里面.要绘制到纹理里,自然就想到FBO了.但是一次要输出多张纹理,这个还没接触过.一阵网上搜索过后,终于了解到了MRT(多重渲染 ...

随机推荐

  1. kubernetes 简单 hello world nginx svc deployment

    1.nginx svc deployment [root@k8s k8s4nginx]# cat deploynginx.yaml ################################# ...

  2. Git提交本地项目文件到GitHub的详细操作

    因最近在使用git命令提交代码到github的操作,网上找了下教程,记录下过程,便于查看 添加整个文件夹及内容 git add 文件夹/ 添加目录中所有某种类型的文件 git add *.文件类型 `

  3. (转)新手入局 你必须要知道的四类Equity

    许多人缠着我教他们打牌,开始几乎所有的问题都是问,你都玩什么牌. 这个话外行又很难解释,想来想去,我这样总结给他们(我也忘记自己过去有没有说过,我觉得总结的挺好的,只怕初学者听着又和天书一样了). 是 ...

  4. 使用foreach的禁忌

    List<String> list = new ArrayList<>(); Iterator<String> iterator = list.iterator() ...

  5. PAT A1002 A+B for Polynomials(25)

    AC代码 转载自https://www.cnblogs.com/zjutJY/p/9413766.html #include <stdio.h> #include<string.h& ...

  6. 流程控制之 while 循环

    目录 流程控制之while while 条件循环语句 while contine while else while 循环的嵌套 流程控制之while while 条件循环语句 循环就是一个重复的过程 ...

  7. Codeforces 1237F. Balanced Domino Placements

    传送门 很妙的题 首先先考虑一个简化的问题,现在有一行格子让你填 你要么填一格 要么填两格 有的格子不让你填 问你填了 $a$ 个一格和填了 $b$ 个两格有多少种方案 那么显然先只考虑放两格的方案, ...

  8. 实现Banner广告图片轮换

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  9. sequelize学习笔记

    示例: const Sequelize = require('sequelize'); // 建立连接 const sequelize = new Sequelize('test', 'root', ...

  10. ubuntu下安装python-selenuim自动化测试的谷歌浏览器驱动安装的位置

    谷歌插件下载地址 https://npm.taobao.org/mirrors/chromedriver selenium下载地址 https://pypi.org/simple/selenium/ ...