首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >苹果手机。粒子系统性能

苹果手机。粒子系统性能
EN

Stack Overflow用户
提问于 2010-03-29 13:38:54
回答 3查看 2.3K关注 0票数 2

我试图画雨和雪作为粒子系统使用核心图形。在模拟器中,渲染进行得很好,但是当我在真实设备上运行我的应用程序时,渲染速度是慢的。

因此,请告诉我如何提高粒子系统在iPhone上的绘图性能。

也许我应该使用OpenGL进行此操作,或者使用CoreAnimation

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-03-29 13:46:01

OpenGL将是渲染的最低级别,因此应该提供最好的性能(如果正确的话)。如果没有太多的粒子,CoreAnimation就足够接近了(确切的数字取决于其他因素,但大约50应该可以)。当您现在说您正在使用CoreGraphics时,您的意思是您正在基于计时器重绘吗?如果是这样的话,那么CoreAnimation肯定会帮助你--只要你能把每个粒子分离成一个视图。您仍然可以使用CoreGraphics来呈现单个粒子。

你是用物理引擎来计算位置吗?

票数 2
EN

Stack Overflow用户

发布于 2010-03-29 15:37:42

如果您只是简单地用Core绘制视图,然后重新绘制每个帧以反映粒子的运动,您将看到糟糕的性能(更多信息,请参见这个答案)。你会想去OpenGL ES或核心动画的粒子系统动画。

我的建议是看看CAReplicatorLayer,一种在iPhone OS3.0和雪豹中添加的新的核心动画层类型。我看到了一些令人印象深刻的粒子系统,它们只是使用这一层类型,而没有使用太多的代码。请参阅ReplicatorDemo示例应用程序(对于Mac,但核心概念是相同的),或Joe的“到1e100f及以后使用CAReplicatorLayer”文章。

票数 2
EN

Stack Overflow用户

发布于 2010-03-29 13:44:05

很难在很少或没有关于您的实现的信息的情况下给出建议。从我的经验来看,iPhone的一个主要瓶颈是内存分配。因此,如果你为每个产生的粒子分配新的对象,这将是你首先要修复的事情。(分配一个对象池并重用它们。)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2538248

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档