有关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. FTL-SLC&MTC&TLC

    1.博客 SLC.. http://diybbs.zol.com.cn/67/231_661182.html 2.FTL --作者在普及了一些FTL基本知识后,主要分析了在linux上实现的途径 ht ...

  2. fastadmin model关联模型 关联查询问题

    一对一关联 public function getGoodName(){ return $this->belongsTo('app\api\model\goods\Good','goods_go ...

  3. Compress and decompress string

    You are given a string with lower case letters only. Compress it by putting the count of the letter ...

  4. MySQL慢查询—开启慢查询

    ###一.简介 开启慢查询日志,可以让MySQL记录下查询超过指定时间的语句,通过定位分析性能的瓶颈,才能更好的优化数据库系统的性能. ###二.参数说明 slow_query_log 慢查询开启状态 ...

  5. *【Python】【demo实验30】【练习实例】【使用Turtle实现实时时钟效果】

    目的: 使用Turtle实现实时时钟效果 源代码: # encoding=utf-8 # -*- coding: UTF-8 -*- import turtle from datetime impor ...

  6. 【LOJ】#3042. 「ZJOI2019」麻将

    LOJ#3042. 「ZJOI2019」麻将 如何判定一个集合牌有没有胡的子集是不是胡的 就用一个\(dp[j][k][0/1]\)表示有j个连续两个的串,有k个连续1个串,有没有对子,再记一下这个集 ...

  7. Spring IOC的底层实现原理

     PS:模块之间的相互依赖叫做耦合 传统方式的开发 UserService us=new UserService(); || v 面向接口编程 UserService us=new UserServi ...

  8. Jmeter之设置线程组运行次数/时间

    线程组的设置 线程组运行的次数=线程数*循环次数 Ramp-Up Period:表示启动时间 例如:线程数:10,循环次数:10,Ramp-Up Period:2 表示,这个线程组一共有100个线程( ...

  9. Django模板(Template)系统

    Django模板系统 官方文档 常用语法 只需要记两种特殊符号: {{  }}和 {% %} 变量相关的用{{}},逻辑相关的用{%%}. 变量 {{ 变量名 }} 变量名由字母数字和下划线组成. 点 ...

  10. 使用python操作kafka

    使用python操作kafka目前比较常用的库是kafka-python库 安装kafka-python pip3 install kafka-python 生产者 producer_test.py ...