Assimp查看器比同一个.obj模型文件上的Assimp C导入器快得多
发布时间:2020-12-16 06:52:27 所属栏目:百科 来源:网络整理
导读:assimp库提供了一种从文件加载3D .obj模型的好方法.但是我发现它附带的assimp_viewer.exe(我使用的是3.1.1版)在导入我的.obj文件(42Mb,已经简化)和加载相同模型的C代码时要快得多.查看器在几秒钟内加载文件,而我的C程序(MSVS 2013 / Win64 / Release)需要154
assimp库提供了一种从文件加载3D .obj模型的好方法.但是我发现它附带的assimp_viewer.exe(我使用的是3.1.1版)在导入我的.obj文件(42Mb,已经简化)和加载相同模型的C代码时要快得多.查看器在几秒钟内加载文件,而我的C程序(MSVS 2013 / Win64 / Release)需要154秒才能完成.我在查看器和C中尝试了导入器后处理标记,但我无法弥合两者之间的差距.
有关事业的任何想法?这是我的C代码: #include <ctime> #include <iostream> #include <fstream> #include <vector> #include "assimp/Importer.hpp" #include "assimp/scene.h" #include "assimp/postprocess.h" #include "assimp/progresshandler.hpp" using namespace std; int main(int argc,char* argv[]) { Assimp::Importer importer; unsigned int post_processing_flags = aiProcess_Triangulate | aiProcess_SortByPType | aiProcess_JoinIdenticalVertices | aiProcess_OptimizeMeshes | aiProcess_OptimizeGraph | aiProcess_ImproveCacheLocality; cout << "starting load: "; auto begin = clock(); auto scene = importer.ReadFile( "MODEL.obj",post_processing_flags); auto end = clock(); cout << "done!n"; double seconds = (end - begin) / CLOCKS_PER_SEC; cout << "loading took " << seconds << " seconds" << endl; return 0; } 解决方法
找到了我自己的答案:我在Visual Studio中运行它但是在发布模式(F5)下启动它 – 调试器.当我在没有调试的情况下启动它(CTRL F5)时,现在需要1秒来加载模型,就像assimp查看器一样.如果使用文件资源管理器或命令行从Visual Studio外部运行可执行文件,则同样适用.有没有调试之间仍然存在巨大差异.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读