【问题标题】:Instantiating too many prefabs in the game makes it slow在游戏中实例化太多预制件会使其变慢
【发布时间】:2020-04-04 09:33:51
【问题描述】:

所以对于我的项目,我需要准确地实例化一个预制件 921 次。所有实例化的预制件最终都会变成一个垂直滚动视图,因此使用可以通过它们。问题是,这会使游戏变得非常缓慢。我怎样才能以一种方式编码它,首先只有 10 个预制件被实例化,其余的只有在用户已经滚动到屏幕底部时才被实例化?

【问题讨论】:

  • 您尝试过什么,看过什么 - 是的,制作 921 东西会很慢:D

标签: c# unity3d


【解决方案1】:

是的,将 921 个东西添加到 UI ScrollView 通常不是一个好计划。

但是,正如您所建议的,有一种方法可以解决此问题。我建议查看 ScrollView 的文档(附加 here)。名为scrollOffset 的属性返回当前滚动位置的Vector2。由于您有一个垂直的ScrollView,因此获得它的大小将获得用户滚动的“多远”。

假设列表中的每个元素的任意高度为 50(此处仅举一个示例数字)。实例化你的 10 个列表项,每次scrollOffset 增加 50 的幅度,调用一个方法来实例化另一个列表项。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多