【发布时间】:2011-02-06 16:03:59
【问题描述】:
我在 Android 应用中使用 Canvas 制作基本的 2D 图形。我正在实现一个拖放功能(只是根据触摸事件的 x/y 坐标设置精灵的 x/y 坐标)。它工作正常,但在我的 Android 设备上进行测试时,如果我在屏幕上快速移动手指,可能会有轻微的延迟。如果快速完成,位图就跟不上触摸/拖动动作。
如果我要迁移到 OpenGL ES,这会得到改善吗?如果没有,我不想撕掉我的代码。
【问题讨论】:
我在 Android 应用中使用 Canvas 制作基本的 2D 图形。我正在实现一个拖放功能(只是根据触摸事件的 x/y 坐标设置精灵的 x/y 坐标)。它工作正常,但在我的 Android 设备上进行测试时,如果我在屏幕上快速移动手指,可能会有轻微的延迟。如果快速完成,位图就跟不上触摸/拖动动作。
如果我要迁移到 OpenGL ES,这会得到改善吗?如果没有,我不想撕掉我的代码。
【问题讨论】:
这基本上取决于您实现拖放的方式。 SurfaceView 可以很快,无需切换到 OpenGL ES 来显示 2D...
找出导致延迟的原因。如果延迟是由触摸事件引起的,触发的频率不足以“无延迟”,即使 OpenGL 也无济于事......
【讨论】:
OpenGL 在具有软件加速的手机上速度较慢(例如,没有硬件加速)。所以... :)
【讨论】: