【发布时间】:2011-03-24 02:13:44
【问题描述】:
我正在尝试决定是对我的应用程序中的所有 3D 相关元素(大部分是 C++)主要使用浮点数还是整数。我知道大多数基于 ARM 的设备不支持硬件浮点,所以我认为任何繁重的浮点运算都会明显变慢。
但是,我计划在大多数情况下准备所有数据(即在适用的情况下使用顶点缓冲区并使用变化不大的矩阵进行转换),所以我只是将数据塞进 OpenGL 的喉咙里。我可以假设这或多或少直接到 GPU 上,并且会相当快吗? (顺便说一句,最低要求是 OpenGL ES 2.0,因此可能不包括旧的基于 1.x 的手机。)
另外 - 当我混合和匹配整数和浮点数时,惩罚如何?假设我所有的几何图形只是预先构建的浮点缓冲区,但我使用整数作为矩阵,因为这些确实需要像矩阵乘法这样的昂贵操作,我会在这里招致多少愤怒?
顺便说一句,我知道我应该保持低期望(听起来甚至要求 CPU 上的浮点数要求太多了),但是有没有像 128 位 VMX 寄存器这样的东西?
(我暗暗希望fadden 正在阅读这个问题并且有一个很棒的答案。)
【问题讨论】:
标签: android opengl-es android-ndk