/ / Assimp Viewer est beaucoup plus rapide que l'importateur Assimp C ++ sur le même fichier modèle .obj - c ++, 3d, assimp

Assimp Viewer est beaucoup plus rapide que l'importateur Assimp C ++ sur le même fichier modèle .obj - c ++, 3d, assimp

La bibliothèque assimp est un bon moyen de charger de la 3DModèles .obj à partir du fichier. Cependant, j'ai découvert que l'assimp_viewer.exe qui l'accompagne (j'utilise la version 3.1.1) est beaucoup plus rapide pour importer mon fichier .obj (42 Mo, déjà simplifié), puis mon code C ++ chargeant le même modèle. La visionneuse charge le fichier en quelques secondes alors que mon programme C ++ (MSVS 2013 / Win64 / Release) prend 154 secondes pour le faire. J'ai expérimenté les indicateurs de post-traitement de l'importateur à la fois dans le visualiseur et en C ++, mais je ne peux pas combler le fossé entre les deux.

Des réflexions sur la cause? Voici mon code 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;
}

Réponses:

0 pour la réponse № 1

J'ai trouvé ma propre réponse: je l'exécute dans Visual Studio, mais je le lance avec le débogueur en mode Publication (F5). Quand je commence sans pour autant le débogage (CTRL + F5) il faut maintenant 1 seconde pour chargerle modèle comme le spectateur assimp. Il en va de même si vous exécutez l'exécutable de l'extérieur de Visual Studio à l'aide de l'explorateur de fichiers ou de la ligne de commande. Encore une énorme différence entre avec et sans débogage.