我使用 Haxe+ Haxepunk 制作了一个简单的 3 帧动画角色走到您在屏幕上单击的任何位置......好吧,我从在线教程中复制/粘贴代码只是为了测试 Haxe。
这在 Flash、iOS 模拟器和三星 Galaxy 3 上运行得很好……但在我的 HTC 上,它的运行速度低于每秒 1 帧。虽然我知道欲望不是春鸡,但这是一个巨大的性能差距,比我在任何应用程序上看到的都要多:银河与欲望……
这是 Haxe 问题还是我做错了什么(错误的 NDK、错误的编译标志、操作系统太旧等)?
我使用 Haxe+ Haxepunk 制作了一个简单的 3 帧动画角色走到您在屏幕上单击的任何位置......好吧,我从在线教程中复制/粘贴代码只是为了测试 Haxe。
这在 Flash、iOS 模拟器和三星 Galaxy 3 上运行得很好……但在我的 HTC 上,它的运行速度低于每秒 1 帧。虽然我知道欲望不是春鸡,但这是一个巨大的性能差距,比我在任何应用程序上看到的都要多:银河与欲望……
这是 Haxe 问题还是我做错了什么(错误的 NDK、错误的编译标志、操作系统太旧等)?
进入 Engine.hx,render() 函数,并注释掉 HXP.screen.refresh()。这条线绝对会扼杀 OUYA(一款安卓游戏机)的性能,所以它也可能会扼杀你。由于您不再每帧都清除屏幕,因此您需要通过向您的世界添加一个背景实例来在每次更新时绘制背景。我的游戏从 7 fps 变为 52 fps,仅在 1080p 分辨率和约 80 个实体下进行了这些更改。
还可以尝试从 github 获取最新的 HaxePunk 并运行 ant 来安装它,开发人员最近一直在研究 android 性能,并且有一些很好的未发布修复程序,这些修复程序将在上述修复程序之上。