fal*_*tro 5 android battery opengl-es
我正在考虑编写一个可以移动2D图形的应用程序.我对标准的android 2D图形API不太熟悉,而且我对OpenGL更加舒服,所以我自然而然地考虑使用OpenGL.
我现在考虑的是,如果我确保降低帧速率并且不进行任何连续更新,除非我需要动画,与标准图形相比,使用OpenGL ES的功耗/电池寿命是否存在显着差异?
请注意,我不会制作游戏,除非动画UI元素,否则我不需要持续更新.
大多数设备上的OpenGL-ES利用了设备的GPU,因此可能比非OpenGL-ES显示系统的电池使用率略高,但我相信这是一个微不足道的差异.通常电池应变考虑因素包括网络或GPS跟踪等区域.对于图形,最小化电池消耗的最佳方法是最小化设备CPU的总体使用.
OpenGL-ES针对繁重的图形渲染进行了优化,尽可能高效,并且具有在沙盒外运行的额外优势,Android可以分配给每个正在运行的应用程序,为其提供更大的内存池,以及访问GPU的权限在您的应用中考虑图形丰富的表现层时最佳.
除了OpenGL-ES之外,你可能要么想要使用Bitmaps和Canvases,要么使用嵌套在ViewGroups中的Views并通过改变它们的LayoutParams来移动它们,或者操纵它们的矩阵以便为屏幕周围的对象设置动画.与基于OpenGL的平台执行的动画相比,性能方面,像这样完成的动画很少令人印象深刻.
另一方面,完全在OpenGL-ES中管理结构化应用程序也可能是一场噩梦.在构建非图形丰富的应用程序时,使用片段和视图始终是首选方法,因为它们使一切变得如此简单,并且它们的构建和优化正是为了这个目的.
最后,它实际上取决于您正在构建的应用程序的要求.您还可以考虑开发某些在OpenGL-ES中具有更高图形要求的片段,以及其他不在更常规方法(如片段)中的片段.
在电池方面,通过OpenGL-ES使用GPU肯定会有一些开销,但如果你使用传统的动画方法对CPU进行超频,最终可能会给电池带来更大的压力,甚至以低帧速率损害应用的用户体验.
| 归档时间: |
|
| 查看次数: |
1318 次 |
| 最近记录: |