首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Unity:从大型CSV文件读取和更新

Unity:从大型CSV文件读取和更新
EN

Stack Overflow用户
提问于 2018-06-02 01:52:09
回答 1查看 2.1K关注 0票数 3

我有一个非常大的CSV文件(1 million+行),包含四列数据timeidxy。下面是一个示例:

代码语言:javascript
复制
t   id  x   y
434 84  0   0
435 84  28.22   -4.5
435 611 1895.13 755.17
435 872 2401.08 159.12
435 65  0   226.39
436 84  50.44   -4.5
436 611 1890.63 732.5
436 872 2373.9  151.04
436 990 2614.97 372.74
...

在我的模拟中,随着时间的推移,我需要做以下三件事之一:

如果是第一次出现id,请在x,y坐标处创建一个具有该id的对象,如果具有id的对象已经存在,请更新该对象的x,y coordinates

  • If an id

我猜保持一个正在运行的计时器,每秒检查CSV,用当前时间定位所有行,并执行上述步骤之一,这是非常密集的。在Unity模拟中,有没有更有效的方法来处理时间序列数据?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-02 02:02:35

对于如此大的文件,您应该开始寻找替代方案。这里有一些想法,但最好的选择取决于你具体在做什么。

  • 更新此CSV的组件是否可以直接与Unity3d通信?使用例如套接字连接将避免需要不断地将该信息保存到磁盘和从磁盘读取该信息。然而,这取决于这个CSV数据是如何创建的,obviously
  • Could你将csv拆分成更小的文件?例如,每个时间戳对应一个时间戳?这样,在每个步骤中更新模拟的开销就更少了。
  • 您能降低更新的频率吗?是否必须每秒更新一次?
  • ,或者,您是否可以每10秒从CSV读取一次,在接下来的10秒内加载所有数据(例如,该范围内的所有时间戳),将它们存储在内存中,然后在接下来的10秒内只使用内存中的信息进行更新,而不是再次读取文件?这将减少您对磁盘的调用。
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50648698

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档