Qt實用技巧:使用Qt載入超大圖片的耗時測試
阿新 • • 發佈:2019-01-10
需求
某機器人專案中,需要載入構建的地圖,此處僅測試直接載入圖片的時間。
相關部落格
《QT三大繪圖類:QPixmap/QImage/QPicture》:https://blog.csdn.net/qq21497936/article/details/79231365
測試程式碼
QString path; path = "./map/1.png"; QFileInfo fileInfo; fileInfo.setFile(path); qDebug() << __FILE__ << __LINE__ << "Load file:" << path << " size:" << fileInfo.size(); qDebug() << __FILE__ << __LINE__ << "QImage start load, " << QDateTime::currentDateTime().toString("hh:MM:ss:zzz"); if(!_image.load(path)) { qDebug() << __FILE__ << __LINE__ << "Failed to QImage load path:" << path; } qDebug() << __FILE__ << __LINE__ << "QImage end load, " << QDateTime::currentDateTime().toString("hh:MM:ss:zzz"); qDebug() << __FILE__ << __LINE__ << "QPixmap start load," << QDateTime::currentDateTime().toString("hh:MM:ss:zzz"); if(!_pixmap.load(path)) { qDebug() << __FILE__ << __LINE__ << "Failed to QPixmap load path:" << path; } qDebug() << __FILE__ << __LINE__ << "QPixmap end load, " << QDateTime::currentDateTime().toString("hh:MM:ss:zzz"); path = "./map/2.png"; fileInfo.setFile(path); qDebug() << __FILE__ << __LINE__ << "Load file:" << path << " size:" << fileInfo.size(); qDebug() << __FILE__ << __LINE__ << "QImage start load, " << QDateTime::currentDateTime().toString("hh:MM:ss:zzz"); if(!_image.load(path)) { qDebug() << __FILE__ << __LINE__ << "Failed to QImage load path:" << path; } qDebug() << __FILE__ << __LINE__ << "QImage end load, " << QDateTime::currentDateTime().toString("hh:MM:ss:zzz"); qDebug() << __FILE__ << __LINE__ << "QPixmap start load," << QDateTime::currentDateTime().toString("hh:MM:ss:zzz"); if(!_pixmap.load(path)) { qDebug() << __FILE__ << __LINE__ << "Failed to QPixmap load path:" << path; } qDebug() << __FILE__ << __LINE__ << "QPixmap end load, " << QDateTime::currentDateTime().toString("hh:MM:ss:zzz"); path = "./map/3.pgm"; fileInfo.setFile(path); qDebug() << __FILE__ << __LINE__ << "Load file:" << path << " size:" << fileInfo.size(); qDebug() << __FILE__ << __LINE__ << "QImage start load, " << QDateTime::currentDateTime().toString("hh:MM:ss:zzz"); if(!_image.load(path)) { qDebug() << __FILE__ << __LINE__ << "Failed to QImage load path:" << path; } qDebug() << __FILE__ << __LINE__ << "QImage end load, " << QDateTime::currentDateTime().toString("hh:MM:ss:zzz"); qDebug() << __FILE__ << __LINE__ << "QPixmap start load," << QDateTime::currentDateTime().toString("hh:MM:ss:zzz"); if(!_pixmap.load(path)) { qDebug() << __FILE__ << __LINE__ << "Failed to QPixmap load path:" << path; } qDebug() << __FILE__ << __LINE__ << "QPixmap end load, " << QDateTime::currentDateTime().toString("hh:MM:ss:zzz");
測試結果
拓展