【问题标题】:Unity3d Image effect blur on android too slowandroid上的Unity3d图像效果模糊太慢
【发布时间】:2016-11-10 17:01:21
【问题描述】:

我正在玩 2d 游戏中的 Unity Image Effects,特别是当游戏设置显示在弹出窗口上时,我试图模糊主菜单的背景。我通过使用两个摄像头实现了:

  • 用于绘制前景对象的主摄像头
  • 具有模糊(优化)效果的背景相机,我在显示设置时以编程方式更改这些属性

它在 Unity Editor 上运行良好,但一旦我在设备 (Galaxy S6) 上运行它,它就会变得非常缓慢。我猜模糊效果对于手持设备来说太过分了,但我仍然想知道我是否可以通过调整相机参数来获得更好的结果,很难相信(几乎)上一代设备无法移动这个场景(只是一个全屏背景,带有模糊效果和顶部的几个按钮)流畅。

知道我可以尝试提高性能的方法吗?

作为旁注,我正在使用2dToolkit 渲染我的精灵。

【问题讨论】:

  • 我所做的是将模糊相机渲染到 RenderTexture 一次,禁用相机,然后将 RenderTexture 显示为静态图像。
  • 谢谢@JeanLuc,实际上背景有点动画,这是动态模糊的重点,而不是仅仅使用在 photoshop 上模糊的普通 png :(
  • 我并不是要在 Photoshop 中显示模糊的图像,而是要显示渲染的模糊纹理。无论如何,因为你的背景是动画的,我建议增加 Downsample 并通过在计算中减少像素来简化模糊着色器。

标签: unity3d blur image-effects


【解决方案1】:

Blur 在移动设备上很重。请记住,S6 具有超过全高清屏幕。 (2560x1440)。这可能比您在桌面上测试的要多。 像让·卢克那样做。如果您的背景是静态的,则只渲染一次纹理。

【讨论】:

  • 因为背景是模糊的,你可以尝试只渲染一半的像素。
  • 感谢@Hacky,我用极低质量的 png 进行了一些性能测试,但距离 60fps 还差得很远。不确定这是否是您的意思,还有其他方法可以减少渲染的像素数量吗?
  • 优化的模糊脚本可以渲染一半的分辨率,然后调整结果。
  • 我认为更改 PNG 大小在这里不会有任何不同。它可能只是优化的模糊脚本,必须为每个像素计算一个模糊内核。那只是很多内存查找。您可以更改优化的模糊脚本以仅渲染一半的分辨率,然后调整最终结果的大小。
  • 感谢@Hacky,不幸的是,调整着色器的内部目前有点超出我的技能:) 无论如何,如果我有机会我会试一试。谢谢!
猜你喜欢
  • 1970-01-01
  • 2015-07-13
  • 1970-01-01
  • 1970-01-01
  • 2012-09-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多