c# - 在游戏中实例化太多预制件会使其变慢
问题描述
所以对于我的项目,我需要准确地实例化一个预制件 921 次。所有实例化的预制件最终都会变成一个垂直滚动视图,因此使用可以通过它们。问题是,这会使游戏变得非常缓慢。我如何以一种方式编码它,首先只有 10 个预制件被实例化,其余的只有在用户已经滚动到屏幕底部时才被实例化?
解决方案
是的,将 921 个东西添加到 UI ScrollView 通常不是一个好计划。
但是,正如您所建议的,有一种方法可以解决此问题。我建议查看 ScrollView 的文档(附在此处)。一个名为scrollOffset
返回Vector2
当前滚动位置的属性。由于您有一个垂直ScrollView
的大小,因此用户滚动了“多远”。
假设您列表中的每个元素的任意高度为 50(此处仅提供一个示例数字)。实例化你的 10 个列表项,每次scrollOffset
增加 50 的数量级,调用一个方法来实例化另一个列表项。
推荐阅读
- c# - 在 DataGrid 顶部添加自定义行 - WPF
- spring-boot - 将指标数据推送到 Prometheus
- ionic-framework - 离子和离子 CLI
- c++ - windows中ffmpeg的av_read_frame总是返回随机packet.stream_index
- java - 在本地微服务之间交换纯文本密码是一种好的编程习惯吗?
- asp.net-core - 部署到 IIS 时,String.Format 更改为 EU 格式
- java - 类未传递给 ClassFileTransformer
- class - 关于两个不同类实例的 AS3 hitTest 逻辑
- python - 如何在 vps 上使用 pyautogui?
- php - 在 laravel 应用程序中的所有错误/异常的维护视图页面下显示站点