是否“拖放”? Android 上的 OpenGL ES 与 Canvas 相比变得更快?

发布于 2024-10-16 00:54:13 字数 212 浏览 3 评论 0原文

我在 Android 应用程序中使用 Canvas 来制作基本的 2D 图形。我正在实现拖放功能(只需根据触摸事件的 x/y 坐标设置精灵的 x/y 坐标)。它工作正常,但在我的 Android 设备上测试时,如果我在屏幕上快速移动手指,可能会出现轻微的延迟。如果操作太快,位图就无法跟上触摸/拖动动作。

如果我转向 OpenGL ES,这个问题会得到改善吗?如果没有的话,我不想撕掉我的代码。

I am using Canvas for basic 2D graphics in an Android app. I am implementing a drag and drop feature (just setting x/y coordinates of the sprite based on x/y coordinates of the touch event). It works fine, but when testing on my Android device, there can be a slight lag if I move my finger very fast on the screen. The bitmap just isn't keeping up with the touch/drag motion if done quickly.

Would this be improved if I were to move to OpenGL ES? Not wanting to rip out my code if it doesn't.

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

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

发布评论

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

评论(2

拥抱没勇气 2024-10-23 00:54:13

这基本上取决于您实现拖放的方式。 SurfaceView 可以很快,并且无需切换到 OpenGL ES 只是为了显示 2D...

找出导致延迟的原因。如果延迟是由于触摸事件触发频率不够高而导致“无延迟”,那么即使 OpenGL 也无济于事......

This depends basically on the way you implement your drag&drop. A SurfaceView can be fast and there is no need for switching to OpenGL ES just to show 2D...

Find out what causes the lag. If the lag is caused by the touch events aren't fired often enough to be "lag free" that even OpenGL wont help...

洛阳烟雨空心柳 2024-10-23 00:54:13

OpenGL 在具有软件加速(例如没有硬件加速)的手机上速度较慢。所以... :)

OpenGL is slower on the phones with a software acceleration (e.g. without hardware acceleration). So... :)

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