使用像cstdio这样的库处理3D模型文件时,将整个文件加载到具有文件长度大小的新缓冲区,然后处理它而不是频繁使用文件数据访问函数会不会更快?
我的问题同时适用于二进制和文本模型格式,但特别适用于第二种情况,其中读取通常是通过逐行访问文件的函数完成的(例如Wavefront .OBJ)。
缺点/专业人士? 另外,我知道更大的内存复杂性,任何其他负面因素?答案 0 :(得分:3)
一个消极的方面是,如果这是单线程的,当整个文件被读入内存时,CPU没有做任何事情,甚至可能延长加载时间。
然而,速度增益或损失在任何情况下都可以忽略不计。
同样,不是直接解决问题而是:如果处理时间是一个大问题,你可以编写一个处理模型的应用程序,并将其存储为一种格式,可以将其映射到某种类型的顶点缓冲区中。
编辑:我不太确定这种数据的建议有多好,有人会对此发表评论吗?