性能一 Exploring Mobile vs. Desktop OpenGL Performance
opengl insight
Exploring Mobile vs. Desktop
OpenGL Performance
Jon McCaffrey
前面那些内容以前看过 应该写在谋篇帖子里了
Fullscreen effect
pp优化的核心在于 减pass 因为这全是system mem sync read modify write...
1.全屏特效 如果不需要 neighboring pixelx 用frame buffer ftech 和base做到一起 带宽可以做到最低
2.particle的bloom去掉 用mask 区分共用一次bloom mask用mrt出
3.ubershader把pp互相挪到一起 参见2014gdc unreal
Offscreen Effect
1.用downsample+bilinear做blur for bloom and environment reflection
2.这种方式每个像素只画一次 就是deferred lighting的优点 利用这一点 减小overdraw
Fragment
优化核心 用profiler测 bound
1.float
2.如果顶点少 考虑逐顶点计算
3.lightmap
4.lookup texture (bandwidth memory 换alu)例如beckmon参数 一维 cache命中率高
5.texture fetch 这里bound ------如果varyings太多 register压力导致不能有更多fragment同时处理 以便把 tsp 或者usse 的开销 通过调度掩盖掉
Vertexshading
2.varyings 数量限制住 太多不但增加memory开销导致并行fragment数量受限
3.顶点带宽 每个tile都会拉一遍 除非已经在cache(下一块tile数据已经在cache)里 vertex用低精度数据 OES vertex half float
4.交错interleaved vertex attribute 这样cache命中高 pos normal uv pos normal uv
5 频繁改变的vertex attribute和static的buffer 分开放 比如每次更新的可能只是pos而 normal uv不变 把这两组数据分开(看起来animation才会有这个问题 scene全部数据都是static
====================================
https://cdn2.unrealengine.com/Resources/files/GDC2014_Next_Generation_Mobile_Rendering-2033767592.pdf
pp
=============
cover latency
https://developer.qualcomm.com/qfile/28557/80-nu141-1_b_adreno_opengl_es_developer_guide.pdf
https://developer.apple.com/metal/Metal-Shading-Language-Specification.pdf
性能一 Exploring Mobile vs. Desktop OpenGL Performance的更多相关文章
- opengl performance optimization
OpenGL 性能优化 作者: Yang Jian (jyang@cad.zju.edu.cn) 日期: 2009-05-04 本文从硬件体系结构.状态机.光照.纹理.顶点数组.LOD.Cull等方面 ...
- 译文:前端性能的重要性 The Importance of Frontend Performance
欢迎訪问我的主页.最新的文章我会首先公布在个人主页上: http://blog.guaidm.com/shocky/ 原书下载地址:http://pan.baidu.com/s/1pJocRwB 在我 ...
- linux 性能调优工具参考 (linux performance tools)
之前发现几张图对于linux使用者有着较强的参考意义,下面对其进行简单备忘: # linux 静态信息查看工具 # linux 性能测试工具 benchmark # linux 性能观测工具 # li ...
- 13 Reasons Why You Should Pay Attention to Mobile Web Performance
Mobile is no longer on the sidelines. If you’re not already thinking mobile first, you should at lea ...
- Mali GPU OpenGL ES 应用性能优化--測试+定位+优化流程
1. 使用DS-5 Streamline定位瓶颈 DS-5 Streamline要求GPU驱动启用性能測试,在Mali GPU驱动中激活性能測试对性能影响微不足道. 1.1 DS-5 Streamli ...
- 数据库实例性能调优利器:Performance Insights
Performance Insights是什么 阿里云RDS Performance Insights是RDS CloudDBA产品一项专注于用户数据库实例性能调优.负载监控和关联分析的利器,以简单直 ...
- 一目了然 | 数据库实例性能调优利器:Performance Insights
Performance Insights是什么 阿里云RDS Performance Insights是RDS CloudDBA产品一项专注于用户数据库实例性能调优.负载监控和关联分析的利器,以简单直 ...
- Chrome Performance性能分析面板使用
最近做的项目都是内嵌egret游戏,想在移动端监测下它的性能,于是就开始了对Performance的探索: 一.使用 打开控制台,一顿操作: 网络选择Fast 3G,模拟手机普通3G环境,虽然现在大家 ...
- Performance Optimization (2)
DesktopGood performance is critical to the success of many games. Below are some simple guidelines f ...
随机推荐
- layui监听radio点击事件
layui.form.on('radio(layui_dataType)', function(data){ console.log(data.elem); //得到radio原始DOM对象 cons ...
- 深入理解linux内核-进程和程序
进程描述符task_struct task_struct { //进程基本信息 pid 进程id号 tgid 线程组id号,与线程组领头线程pid号相同 getpid()返回该值 tasks in ...
- Beginning Linux Programming 学习-chapter2-Shell programming-Pipes and Redirection
"为了从事创造性工作,人类需要孤独,可是在孤独中,广义的人类仍存在于内心."--(德国)奥铿 ...
- [CF369E]Valera and Queries_离线_树状数组
Valera and Queries 题目链接:codeforces.com/problemset/problem/369/E 数据范围:略. 题解: 这种题,就单独考虑一次询问即可. 我们发现,包括 ...
- [官网]PG12发布了
PostgreSQL 12 Press Kit https://www.postgresql.org/about/press/presskit12/zh/#original_release Conte ...
- JavaIO -- Reader 和 Writer
一.简介 设计Reader和Writer继承层次结构主要是为了国际化.InputStream和OutStream流继承层次结构仅支持8位字节流,并不能很好的处理16位的Unicode字符.由于Unic ...
- LaTeX 一些用法实例(并列图片、并列表格、算法代码示例、页眉太长、下划线,等)
横向并列两个图片 \begin{figure} \begin{minipage}{0.49\linewidth} \centering \includegraphics[width=6.5cm]{Si ...
- Python中操作mysql的pymysql模块详解(转载)
https://www.cnblogs.com/wt11/p/6141225.html
- delete删除数据造成归档日志增加,操作系统空间不足导致数据库hang住
业务需求,对日志表历史数据进行清理.历史表均很大,使用delete 操作删除90天前的数据. 第一部分:快速删除数据 SQL> alter table CC.F_LOG parallel ; S ...
- codeforce 839d.winter is here
题意:如果一个子序列的GCD为1,那么这个子序列的价值为0,否则子序列价值为子序列长度*子序列GCD 给出n个数,求这n个数所有子序列的价值和 题解:首先得想到去处理量比较少的数据的贡献,这里处理每个 ...