【问题标题】:Is Starling worth implementing for my AS3 MMO?Starling 值得为我的 AS3 MMO 实施吗?
【发布时间】:2014-07-06 10:27:06
【问题描述】:

在过去的一年里,我一直在研究等距城市建设者。到目前为止,除了松散的 PureMVC 克隆之外,我还没有使用过任何框架。

我听说过 Starling,但最近才玩过它。 根据我的研究,性能提升是惊人的,但这迫使我更加严格地管理我的资源。

目前,我正在一次导出一栋建筑的建筑动画,大约 16 帧/png。这些通过脚本在 Photoshop 中进行裁剪、调整大小和导出,然后导入 Flash,然后导出为 swf,以便按需加载/预加载/后加载。

每个建筑物的框架太大,无法用它们制作精灵表。我相信它被称为图集。

这些 pngs 然后在 lock() 和 unlock() 之间被 blited。建筑物+走动的演员排序后,就是。

我不确定是否只是将starling.Movieclip 用于建筑物,而不是加载png,我会用它的框架构建一个MovieClip 符号。因此,甚至不需要 bliting。除非在 Starling 之上添加 bliting 会进一步提高性能。这将允许更胖的功能,例如粒子效果,也许是一些照明。

谷歌没有给我一个严格的答案,所以我在这里问。

【问题讨论】:

    标签: actionscript-3 flash starling-framework


    【解决方案1】:

    Google 没有提供直接的答案,因为没有这样的答案。这非常非常取决于你做了什么,你有多少知识以及你的目标是什么。

    使用 Starling 既有好处也有坏处。你对资源的看法将完全改变。如果您真的拥有大量资产,那么将它们放入 GPU 将是一个非常缓慢的过程。您必须从那里开始 - 了解 Starling 的工作、如何使用它管理资源以及您需要更改哪些内容才能在两者之间进行转换。

    如果这不是那么困难且耗时的任务,您将获得一些性能优化。但同样,这取决于您当前的代码。在这种情况下,您当前的代码非常重要,就好像它经过完美优化一样,您的收益不会那么多(但通常仍然如此)。

    如果您需要定期在图形之间切换或需要动态资源(例如图像),您必须记住,在谈到 Starling 和 Stage3D 时,上传到 GPU 是最慢的部分。

    同样,没有一个直接的答案。您必须考虑 GPU 内存和限制、GPU 上传时间以及资产管理。您还需要考虑代码的构建方式,以及如果您进行切换是否会产生任何影响(如果您的代码严重依赖于类似 MovieClip 的结构,以及所有这些帧和东西) - 这将很难为你。我在 Stage3D 中遇到的最困难的事情之一是 UI 实现 - 几乎只有 Feathers UI 需要您花费数周时间才能适应。

    另一方面,Starling 的表现相当不错,尤其是在移动设备上。在旧 iPhone 4S 上,我能够在具有大量动态加载内容和多个屏幕的繁重 UI 应用程序上保持稳定的 45fps,我觉得这很棒。最新的移动设备最高可达 60fps。

    由您决定,但我建议您进行一些实验性的长期项目进行测试,然后开始将这种方法应用于您的常规项目。我已经完成了在常规非常严格的截止日期项目中使用它的潜水,这是一场噩梦。一切都很好,但我以为我会心脏病发作 - 切换并不那么容易:)

    【讨论】:

      【解决方案2】:

      我建议在运行时使用 DMT 将您的矢量资源光栅化为 Straling sprite,它还会保留您的 DisplayTree!这意味着您仍然拥有 Flash 资源中的父/子关系。

      DMT 不会复制资源,只会将矢量光栅化为纹理图集一次(缓存已保存)

      你可以在这里找到它:https://github.com/XTDStudios/DMT

      【讨论】:

        猜你喜欢
        • 2012-12-03
        • 1970-01-01
        • 1970-01-01
        • 2012-07-22
        • 2012-12-17
        • 1970-01-01
        • 1970-01-01
        • 2015-05-05
        • 2014-12-15
        相关资源
        最近更新 更多