有关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. git 命令 git diff 查看 Git 区域文件的具体改动

    查看 Git 区域文件的具体改动 git diff git status 只能让我们知道文件在 Git 区域内的改动状态,但如果我们想查看某个文件内具体改了什么(也可以理解为在不同 Git 区域中的差 ...

  2. 2019牛客暑期多校训练营(第七场)-B Irreducible Polynomial(多项式因式分解)

    题目链接:https://ac.nowcoder.com/acm/contest/887/B 题意:给定整系数多项数,判断实数域上是否可约. 思路: AC代码: #include<cstdio& ...

  3. Javascript - BOM 对象

    浏览器相关的对象.获取浏览器相关的信息,可以设置和修改浏览器属性. 0. web-app 版 TodoList 小程序 用以下内容可以自己手写一个 TodoList 小程序,再添加几行代码就可以用手机 ...

  4. 【Codeforces】600E. Lomsat gelral

    Codeforces 600E. Lomsat gelral 学习了一下dsu on tree 所以为啥是dsu而不是dfs on tree??? 这道题先把这棵树轻重链剖分了,然后先处理轻儿子,处理 ...

  5. Scala(一)安装

    一.环境信息 操作系统:cat /etc/redhat-release JDK:  java -version 二.下载Scala安装包 网址:https://www.scala-lang.org/d ...

  6. Spring注解Component原理源码解析

    在实际开发中,我们经常使用Spring的@Component.@Service.@Repository以及 @Controller等注解来实现bean托管给Spring容器管理.Spring是怎么样实 ...

  7. RMQ+差分处理(Let Them Slide)Manthan, Codefest 19 (open for everyone, rated, Div. 1 + Div. 2)

    题意:https://codeforc.es/contest/1208/problem/E 现有n行w列的墙,每行有一排连续方块,一排方块可以左右连续滑动,且每个方块都有一个价值,第i 列的价值定义为 ...

  8. linux下安装anconda3

    Liunx下安装anconda3其实特变简单,只需这几步骤 1.  首先要到网上下载一个ancoda3的安装包.然后在上传到linux上面即可 3. 是不是特别简单呢?哈哈

  9. flask数据库迁移

    实际操作顺序:1.python 文件 db init2.python 文件 db migrate -m"版本名(注释)"3.python 文件 db upgrade 然后观察表结构 ...

  10. hype-v上centos7部署高可用kubernetes集群实践

    概述 在上一篇中已经实践了 非高可用的bubernetes集群的实践 普通的k8s集群当work node 故障时是高可用的,但是master node故障时将会发生灾难,因为k8s api serv ...