如何增强cocos2dx中位图纹理呈现的性能
How to enhance the performance of bitmap texture rendering in cocos2dx
我正在尝试使用cocos2dx恢复旧游戏。我所做的就是读取旧版二进制文件并提取位图文件,其中总共有68K的位图文件。因此,目前,我已经读取文件,解压缩字节,将位图从RGB8转换为RGBA8888,然后生成位图作为纹理并创建Sprite。但是由于它是一个等距游戏,因此有一张地图,由许多瓷砖组成。因此,用不同的纹理绘制地图(每个位图作为单个纹理)花费很多。我所做的就是尝试重复使用纹理并按本地Zorder进行分组以尝试使用自动批处理。
和为角色的动画,现在我创建了127个单独的位图纹理,并尝试在其上一个一个一个。
所有作品之后,GL Draw呼叫从800减少到50。但是,FPS仍然太慢(降至10-20,应该为60)
测试在iPhone模拟器上进行了,尽管它没有GPU,但这仍然是正常的FPS吗?
,FPS是否受我角色动画纹理的数量影响?
我应该尝试在运行时打包纹理吗?例如结合纹理以使运行时内存中的质地更大并通过偏移加载。
甚至都不看模拟器上的性能。这是完全无关紧要的和非代表性的。
除非您还有其他瓶颈(否则所有当前的iOS设备都将应对50个拨打电话和13k Verts,除非您还有其他瓶颈(您只会在设备上运行),那么您肯定会以60fps的速度运行。
相关文章:
- C / C++ 移位/偏移/向左或向右移动位图?
- 如何在快板的屏幕中显示子位图的绘制?
- CreateDIBSection为同一图像返回不一致的位图位值
- C++ 位图中的 ttc 字体
- 使用 GDI+ 旋转位图,然后转换为 HDC
- 难以从 CImageList 设置菜单项位图
- 如何将位图拉伸到父面板(wxWidgets 自定义)
- 如何使用 freetype2 访问单色位图中的像素状态
- 将位图 (bmp) 转换为具有透明度的 png (Windows c++)
- 安卓工作室 |CPP 文件错误错误: 位图库中对"AndroidBitmap_unlockPixels"的未定义引用
- 位图到垫子/2D 数组
- Gdiplus位图没有Alpha通道
- 如何从路径字符串加载Gdiplus::位图
- 在C++中使用Gdiplus创建透明位图
- 如何增强cocos2dx中位图纹理呈现的性能
- 如何在C++中绘制纹理/位图的区域
- 如何从位图文件创建纹理
- 将位图数据加载到OpenGL纹理中的问题
- 如何在c++中绘制位图作为OpenGL纹理
- 如何从原始位图数据到SDL表面或纹理