性能一 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 ...
随机推荐
- SCART概念
SCART(Syndicat des Constructeursd' Appareils Radiorécepteurs et Téléviseurs)接口是一种专用的音视频接口,它是由法国公司Per ...
- elasticsearch-5.6.1删除index下的某个type
由于elasticsearch-5.6.1不支持type直接删除,只能删除数据. 执行命令: curl -H "Content-Type: application/json" -X ...
- 【Linux内核】编译与配置内核(x86)
[Linux内核]编译与配置内核(x86) https://www.cnblogs.com/jamesharden/p/6414736.html
- 在Settings.db数据库中添加一项新的设置(Settings默认设置)
Settiings的数据默认存放在com.android.providers.settings/database/settings.db中 数据库中的默认数据在frameworks/base/pack ...
- (十四)JDBC入门
目录 什么是JDBC 操作JDBC的步骤 DriverManager对象 数据库URL Connection对象 Statement对象 ResultSet对象 常用数据类型转换表 释放资源 SQL注 ...
- 基于聚类K-Means方法实现图像分割
”“”K-Means to realize Image segmentation “”“ import numpy as np import PIL.Image as image from sklea ...
- php使用ffmpeg获取上传的视频的时长,码率等信息
视频上传是程序员在很多时候需要用到的操作,然而上传完视频肯定要获得一些视频的详细信息,php本身是不支持信息获取的 ,所以采用ffmpeg第三方插件 首先你需要下载ffmpeg文件:官网地址:http ...
- PyCryptodome安装使用方法
PyCryptodome是PyCrypto的一个分支.基于PyCrypto2.6.1,多了以下特性: Authenticated encryption modes (GCM, CCM, EAX, SI ...
- (二)第一个mybatis项目
1. 引包 本例中使用maven构造项目,所以只需配置依赖即可引相应的包. pom.xml <project xmlns="http://maven.apache.org/POM/4. ...
- AES密码算法详解(转自https://www.cnblogs.com/luop/p/4334160.html)
0 AES简介 我们知道数据加密标准(Data Encryption Standard: DES)的密钥长度是56比特,因此算法的理论安全强度是256.但二十世纪中后期正是计算机飞速发展的阶段,元器件 ...