Android Drawable 绘图性能?

发布于 2024-11-27 07:45:45 字数 114 浏览 1 评论 0原文

在我看来,我有一个简单的 ARGB 可绘制对象,大约需要 2 毫秒才能绘制,但我可以在 0.5 毫秒内绘制与位图相同的文件(只是一些快速代码,我真的不能将其视为一个选项)。优化可绘制对象的绘制速度的最佳方法是什么?

In my view I have a simple ARGB drawable that takes about 2ms to draw but I can draw the same file as a bitmap in under 0.5ms (just some quick code, I can't really consider it an option). What are the best ways to optimize the drawing speed of a drawable?

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

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

发布评论

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

评论(1

山川志 2024-12-04 07:45:45

这取决于可绘制的数量以及每个可绘制的次数。对于少量,使用画布(确切的数字也取决于设备)我建议使用 Canvas,因为它是一种很好的更高层次的绘图方法。

如果您想制作大量图像(数百张),我建议创建一个 GLSurfaceView 并使用 openGL 使用为您的应用量身定制的 VBO 来渲染您的图像。如果您走这条路,我还建议使用纹理表,因为您将以代码复杂性为代价获得性能的巨大提升。

但这也取决于应用程序的类型。我的背景是游戏开发,所以我专门使用 openGL 来获得更好的性能。对于一个简单的应用程序(类似于 androidify 的东西)Canvas 应该没问题。如果您想要 openGL 的简单教程,我建议访问 Bergman 关于该主题的系列文章(谷歌应该给您一个链接)。这是对 openGL 的一个很好的介绍。

It will depend on the number of drawables and how many times each gets drawn. For a small number, use canvas (an exact number will also depend on the device) I would suggest using Canvas as it's a nice higher level approach to drawing.

If you want to crank out a lot of images (think hundreds), I would suggest creating a GLSurfaceView and using openGL to render your images using VBOs tailored to your app. I would also recommend using a texture sheet if you go down this route since you'll get a huge increase in performance at the cost of code complexity.

But this will also depend on that type of app. My background is in game development so I use openGL exclusively for better performance. for a simple app (something along the lines of androidify) Canvas should be fine. If you want a simple tutorial for openGL, I suggest visiting Bergman's series of posts on the topic (google should give you a link for that). It is a nice intro to openGL.

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