1

我目前正在使用 Andengine、GLES1 开发一款游戏,并且在我的一台设备上发现它运行速度非常慢(大约 15 FPS)。为了改善这一点以及使用 SpriteGroup,我将背景图像转换为 RGB_565。所以,例如,

mBitmapTextureAtlasBackground = new BitmapTextureAtlas(512, 
    512,BitmapTextureFormat.RGB_565,TextureOptions.DEFAULT);
mBgRegion = BitmapTextureAtlasTextureRegionFactory
    .createFromAsset(mBitmapTextureAtlasBackground, mActivity, 
    "backgroundgame1.png", 0, 0);
BackgroundSprite = new Sprite(0.0f, 0.0f, mCamera.getWidth(),mCamera.getHeight(), mBgRegion);

然而图像如下,右边是RGB_565,

原始图像 RGB_565

(第一张图片上的黑色矩形是我屏蔽的广告!)。有什么我遗漏的吗?对于这方面的任何帮助,我将不胜感激。提前致谢。

4

1 回答 1

1

抱歉,这似乎是我自己对图像格式的无知:$

我已经留下了这个问题,但以防万一有人在游荡。我使用的是纹理打包器,它为我提供了纹理格式 (png) 和图像格式 (RGB565) 的选项,因此我认为 RGB565 是没有 alpha 的 png 的简化版本。在调查我的问题时,我遇到了这个,

如何将 32 位 PNG 转换为 RGB565?

和这个,

为什么 OpenGL(IOS) 中有 .pvr 文件

我现在明白了 png 和 RGB565 确实有很大的不同!

于 2013-03-19T21:04:56.453 回答