【发布时间】:2015-02-20 12:26:50
【问题描述】:
我正在使用我在网上找到的 OBJ 加载器库,我想研究一下加快它的速度。
它通过逐行读取 .OBJ 文件来工作(它基本上是一个带有数字行的文本文件)
我有一个 12mb 的 OBJ 文件,相当于大约 400,000 行。可以说,尝试逐行阅读需要很长时间。
有没有办法加快速度?它使用 BufferedReader 读取文件(存储在我的资产文件夹中)
这里是图书馆的链接:click me
【问题讨论】:
-
BufferedReader 实际上是一种好方法,例如 Files.readAllLines (Java 7) 也使用它。我认为时间在其他地方丢失了,比如没有有效的缓冲。您是否尝试过分析时间都花在了哪里?
-
基本上不使用 OBJ 文件,使用您自己的格式,可以准备“按原样”加载到内存中(作为顶点/索引)
-
补充一点,我还在使用一个测试 OBJ 文件,它要小得多,只有 10,000 行。这需要大约 20 秒的时间来加载,这太糟糕了 :( 我会觉得它会快得多!
-
@Selvin 我将如何去做这样的事情? (我只是把这个放在一起)
-
事实证明,在调试模式下,仅加载 10,000 行就非常慢。如果没有调试,则需要 3 秒。还不错。我尝试使用 400,000 行文件,但由于代码在向量中使用短数字而出现错误。我试图将它们全部更改为 Long,但在 TDModelPart 类中出现错误。
标签: java android bufferedreader wavefront