码迷,mamicode.com
首页 > 其他好文 > 详细

硬件细节

时间:2016-05-12 19:22:53      阅读:109      评论:0      收藏:0      [点我收藏+]

标签:

Adreno帧缓冲区操做分解为512K大小的片上内存。不像基于GPUs的PowerVR或者Mali瓦片,Adreno有一个可变面元基于字节的大小没像素需要缓冲区--一个4倍MSAA,32位颜色4xMRT,32位深度渲染目标需要40次同大量的瓦片一样一个16位深度渲染。


每个顶点至少着色两次,一次判定在哪个箱子中进行绘制,另一次为每个箱子覆盖三角形。为了面元,有规律的顶点着色只是剥掉代码相关的计算顶点位置。为了避免未使用的属性污染顶点缓冲,独立属性数组渲染可能提供一些益处。每个基础三角形有一个面元。不是每个绘制调用基础,所以这没有益处去分解大的面板。因为场景为立体视图被渲染两次,所以面元处理也是至少两次,顶点处理比你期望的消耗的更多。


避免任何面元从主内存和不必要的缓冲区写落下是重要的为性能。VrApi框架处理这个最佳,但是如果你自己做,确保你使颜色缓冲区无效在使用它们之前,丢弃深度缓冲区在刷新眼缓冲区渲染之前。清除一直消耗很多性能,所以使无效应该是被喜欢的当可能时。


这不是致力于闭塞硬件像一个可能在PowerVR片中发现的,但是以前的Z拒绝是被执行的,所以排序绘制调用粗糙的从前到后顺序是有益的。


纹理压缩提供重要的性能益处。ETC2压缩纹理格式,但是这一直是有足够性能去渲染场景用32位未压缩纹理在每个平面上如果你真想炫耀平滑的渐变glGenerateMipMap()是快的和有效的;你应该构建变频解码为动态纹理。不幸的是,在安卓上,很多动态平面进来就和SurfaceTextures/samplerExternalOES一样,它们根本没有变频等级。复制到另一个纹理和生成变频解码这是变量的和花费一个值得注意的天花板,但是一直是坏的考虑。


sRGB修正是自由的在纹理采样上,但是有一些消耗当绘制到一个sRGB帧缓冲区。如果你有很多高对比图像,微克修正能减小混淆现象在渲染中。所以,平滑对比过渡在源插图中也能帮助它。


2xMSAA全速运行在片上,但是它一直增加瓦片数量,所以这是一些性能消耗。4xMSAA半速运行,大体上不是足够快除非场景是非常不严格的。


硬件细节

标签:

原文地址:http://blog.csdn.net/zhz604483686/article/details/51356629

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!