OpenGL ES

OpenGL ES 框架详细解析(十五) —— 适用于Apple

2017-10-05  本文已影响0人  刀客传奇

版本记录

版本号 时间
V1.0 2017.10.05

前言

OpenGL ES是一个强大的图形库,是跨平台的图形API,属于OpenGL的一个简化版本。iOS系统可以利用OpenGL ES将图像数据直接送入到GPU进行渲染,这样避免了从CPU进行计算再送到显卡渲染带来的性能的高消耗,能带来来更好的视频效果和用户体验。接下来几篇就介绍下iOS 系统的 OpenGL ES框架。感兴趣的可以看上面几篇。
1. OpenGL ES 框架详细解析(一) —— 基本概览
2. OpenGL ES 框架详细解析(二) —— 关于OpenGL ES
3. OpenGL ES 框架详细解析(三) —— 构建用于iOS的OpenGL ES应用程序的清单
4. OpenGL ES 框架详细解析(四) —— 配置OpenGL ES的上下文
5. OpenGL ES 框架详细解析(五) —— 使用OpenGL ES和GLKit进行绘制
6. OpenGL ES 框架详细解析(六) —— 绘制到其他渲染目的地
7. OpenGL ES 框架详细解析(七) —— 多任务,高分辨率和其他iOS功能
8. OpenGL ES 框架详细解析(八) —— OpenGL ES 设计指南
9. OpenGL ES 框架详细解析(九) —— 调整您的OpenGL ES应用程序
10. OpenGL ES 框架详细解析(十) —— 使用顶点数据的最佳做法
11. OpenGL ES 框架详细解析(十一) —— 并发和OpenGL ES
12. OpenGL ES 框架详细解析(十二) —— 采用OpenGL ES 3.0
13. OpenGL ES 框架详细解析(十三) —— Xcode OpenGL ES工具概述
14. OpenGL ES 框架详细解析(十四) —— 使用纹理工具压缩纹理

OpenGL ES 3.0 for Apple A7 GPUs and Later - 适用于Apple A7 GPU及更高版本的OpenGL ES 3.0

为获得最佳性能并访问现代GPU的所有功能,您的应用程序应使用Metal。 但是,如果您的应用程序使用OpenGL ES,请使用OpenGL ES 3.0。 使用OpenGL ES 3.0可以访问新功能和更大的渲染资源池。


Best Practices - 最佳做法

这些最佳做法适用于Apple A7 GPU及更高版本的OpenGL ES 3.0应用程序:


Considerations - 考虑

Apple A7 GPU和稍后使用标量处理器处理所有浮点计算,即使这些值在向量中声明。 正确使用写掩码和仔细定义您的计算可以提高着色器的性能。 有关详细信息,请参阅执行矢量计算懒惰。

中等和低精度浮点着色器值的计算方式相同,为16位浮点值。 这是从PowerVR SGX硬件的变化,它使用10位定点格式的低精度值。 如果您的着色器使用低精度浮点变量,并且还支持PowerVR SGX硬件,则必须在两个GPU上测试着色器。

Apple A7 GPU及更高版本不会影响依赖纹理提取。

当您的帧缓冲区内容不再需要时,始终使用帧缓冲区丢弃操作。 不这样做的惩罚比早期的GPU更高。 为获得最佳效果,请使用GLKView类; 它自动实现帧缓冲丢弃操作。

当渲染到多个目标时,将您的应用程序限制为四个图像目标(Apple A7 GPU上的总数据不超过128位,并将Apple A8 GPU的256位数据写入目标)。 单个sRGB目标计数为64位。


Glossary - 相关词汇

该词汇表包含专门用于Apple OpenGL ES实现的术语以及OpenGL ES图形编程中常见的术语。

后记

未完,待续~~~

上一篇 下一篇

猜你喜欢

热点阅读