iPhone 上的 glgConvertTo_32

发布于 2024-12-01 04:56:35 字数 461 浏览 1 评论 0原文

我今天通过 Instruments 运行我的应用程序,注意到“glgConvertTo_32”函数花费了过多的时间。我在其他地方读到这是因为Apple使用“GL_BGRA和GL_UNSIGNED_INT_8_8_8_8_REV”作为它的纹理格式,而我的代码使用GL_RGBA。

我使用 glTexture2D 如下:

glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, textureData);

然而,GL_BGRA 和 GL_UNSIGNED_INT_8_8_8_8_REV 在 iPhone 的 GL 标头中均不可用。对该函数的大量调用是否还有其他原因,或者我是否应该使用不同的纹理格式?

编辑: 我应该提到我正在使用 OpenGL ES 2.0。

I ran my app through Instruments today and noticed that an excessively high amount of time was being spent in the "glgConvertTo_32" function. I read elsewhere that this is because Apple uses "GL_BGRA and GL_UNSIGNED_INT_8_8_8_8_REV" for it's texture format, and my code uses GL_RGBA.

I'm using glTexture2D as follows:

glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, textureData);

Neither GL_BGRA nor GL_UNSIGNED_INT_8_8_8_8_REV are available in the GL headers for iPhone, however. Is there another reason for the high volume of calls to that function, or is there possibly a different texture format I should be using?

EDIT:
I should mention that I'm using OpenGL ES 2.0.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

静赏你的温柔 2024-12-08 04:56:35

我不知道我的问题/解决方案是否真的与你的相关。但你未回答的问题是谷歌在调查我的问题时发现的第一个结果。

虽然我使用 OpenGL ES 1.1 并且不使用纹理,但我也注意到我的应用程序
大约 23% 的时间花在函数 glgConvertTo_32() 上。

在 eaglLayer.drawableProperties 中将 kEAGLDrawablePropertyColorFormat 的值从 kEAGLColorFormatRGBA8 更改为 kEAGLColorFormatRGB565 后,不再调用函数 glgConvertTo_32() 。该应用程序感觉更快,而且我没有看到视觉上的差异。

I don't know if my problem/solution is really related to yours. But your unanswered question was the first result google found while investigating my problem.

Although I use OpenGL ES 1.1 and don't use Textures I also noticed that my app
spends about 23% of time in the function glgConvertTo_32().

After changing the value of kEAGLDrawablePropertyColorFormat from kEAGLColorFormatRGBA8 to kEAGLColorFormatRGB565 in eaglLayer.drawableProperties the function glgConvertTo_32() is not called anymore. The app feels faster and I don't see a visual difference.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文