Unity3d 在Unity上优化滚动列表

Unity3d 在Unity上优化滚动列表,unity3d,scrollview,object-pooling,Unity3d,Scrollview,Object Pooling,我对团结是个新手。我正在Unity上制作GUI,但滚动列表有问题。 我有一个列表项的预制件。此外,我从服务器上获得大约100个项目的数据,保存在一个列表中。 现在,如果一个填充的数据像平常一样进入滚动视图,我将不得不为滚动视图实例化100个列表项预制实例,这将大大降低我的应用程序的性能。 我在互联网上读过,知道有一种技术可以解决这个问题,使用对象池捕获每个列表项的OnBecameVisible/OnBecameVisible事件。然而,实际上没有任何一个例子可以为我解释清楚 任何人都可以帮我解决

我对团结是个新手。我正在Unity上制作GUI,但滚动列表有问题。 我有一个列表项的预制件。此外,我从服务器上获得大约100个项目的数据,保存在一个列表中。 现在,如果一个填充的数据像平常一样进入滚动视图,我将不得不为滚动视图实例化100个列表项预制实例,这将大大降低我的应用程序的性能。 我在互联网上读过,知道有一种技术可以解决这个问题,使用对象池捕获每个列表项的OnBecameVisible/OnBecameVisible事件。然而,实际上没有任何一个例子可以为我解释清楚


任何人都可以帮我解决这个问题,特别是当调用OnBecameVisible时?

如果您正在创建一个包含多行(超过20行)的可滚动列表,而只有几行可见(例如10行),我建议您只使用UI元素创建10行。然后添加一个滚动条,但不使用滚动条移动行。而是使用滚动条值将10行的内容更改为100个对象的内容。例如:如果滚动条位于顶部,则显示100中的0-10个元素;如果滚动条位于底部,则显示90-100个元素。这样你可以假装滚动,只有10行而不是100行。