【问题标题】:Papervision performancePapervision 性能
【发布时间】:2013-10-09 02:17:23
【问题描述】:

在 papervision 中渲染 900 个三角形是不是太多了? 我知道 CPU 型号也有影响,我使用的是 core2duo 1.7GhZ。但是渲染 900 个三角形,因为 5 个圆柱体似乎太多了,并且在每帧旋转它们时会降低性能......正常情况下的 FPS 是 ~30FPS,但是当旋转或旋转圆柱体到 14~FPS 时它会下降。我对这种性能感到非常惊讶,因为 Quake 或 Doom 它们是纯粹的软件渲染引擎,它们的多边形比我的应用程序多得多,当然它们的性能也更好。

【问题讨论】:

  • Quake 和 Doom 是本机应用程序:机器代码直接在操作系统上运行,而 as3 代码在 Flash Player 插件、浏览器中的 AVM 中运行在操作系统之上。中间有很多层。使用 Away3D(版本 3.6 或 Lite 用于非 molehill / Flash Player 10 版本)或 4 及更高版本用于 Molehill 硬件加速(尽管您可以根据需要指定不使用 GPU)。与 Away3D 相比,Papervision 已经好几年没有更新了。 3/4 年前,我确实得到了大约 2000 个使用 PV3D 的三角形。您是否使用过滤器/图层/等。 ?
  • 我没有使用任何图层或任何过滤,只是画了 5 个圆柱体作为卷轴,有纹理。这就是我所拥有的。它们渲染得很好,但是当旋转所有它们时,帧速率下降到一半。感谢您解释问题,我忘了Flash是基于虚拟机的......
  • 帧率可能会下降,因为引擎在旋转时忙于重新计算视图。尽管看起来不太好,但您可以尝试减少圆柱体上的段数,使其保持低多边形:速度与质量的权衡。您可以在运行中进行一些质量更改:如果场景正在制作动画,请降低质量,当动画结束时,再次以更高的质量渲染(现在为 stage.quality)。您是否使用任何透明纹理?
  • 我也想过减少段数,但不幸的是质量很重要。我正在使用法线贴图纹理,但我在圆柱体上绘制了一些符号,它们是普通的位图图像,因此当它们旋转时,符号也会旋转。是否可以即时更改质量?
  • 您确实应该考虑将应用程序移植到 Away3D,它起源于 Papervision 的一个分支,但利用 Stage3D 进行渲染,这意味着它使用 GPU 来完成所有繁重的工作。性能方面,即使是 100,000 个三角形对 Away3D 来说也不是问题。

标签: actionscript-3 3d papervision3d


【解决方案1】:

这大致是您使用 Papervision 将获得的限制,因为它没有利用硬件加速。如果您希望利用一些您遇到问题的硬件,请查看 Away3D (http://away3d.com/)。

【讨论】:

  • 你怎么知道 9000 个三角形大约是极限?没有使用papervision编写并且具有更高多边形的3D游戏吗?
  • 在我以前作为 Flash 开发人员的生活中进行了大量的试验、错误和优化。
【解决方案2】:

我引用的是 Papervision 书籍“Papervision3D Essentials”:

  • 始终尝试使用尽可能少的多边形进行建模。
  • Papervision3D 用户经常想知道 Flash 播放器可以处理的最大三角形数是多少。这个问题没有通用的答案,因为性能取决于更多的因素,而不仅仅是三角形的数量。平均而言,三角形总数不应超过 3000 个,即 1500 个多边形。
  • 保持纹理小(尺寸和分辨率)

【讨论】:

    猜你喜欢
    • 2011-06-30
    • 1970-01-01
    • 2010-11-04
    • 1970-01-01
    • 1970-01-01
    • 2011-04-11
    • 2011-05-13
    • 2011-09-27
    • 1970-01-01
    相关资源
    最近更新 更多