1. 程式人生 > >Qt實用技巧:使用Qt載入超大圖片的耗時測試

Qt實用技巧:使用Qt載入超大圖片的耗時測試

需求

        某機器人專案中,需要載入構建的地圖,此處僅測試直接載入圖片的時間。

 

相關部落格

《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");

 

測試結果

        

 

拓展