QT的秒表小软件
想买采集卡录制视频,顺便节省一个显示器。
买了几个采集卡,想要测试延迟。最好的办法是把电脑显示画面通过采集卡传到电脑上,显示一个秒表画面,拍摄下来。
通过秒表计数可以准确的知道延迟是多少。找了一圈,发现都是在线版的的,或者要点好几下广告。
用QT5简单实现一个。
具备基本功能就是:开始,停止,清零,导出。
如下面显示:
每个按键对应的的槽函数表达:
void stopwatch::startstopwatch()
{
basetime_ = QTime::currentTime();
ptimer_->start(10);
connect(ptimer_, SIGNAL(timeout()), this, SLOT(updatedisplay()));
}
void stopwatch::stopstopwatch()
{
ptimer_->stop();
timestrings_.push_back(timelabel_->text());
}
void stopwatch::clear()
{
timelabel_->setText("00 : 00 : 00 : 000");
}
void stopwatch::exportresult()
{
if(timestrings_.size()<=0)
{
return;
}
QFile file("export.txt");
file.open(QIODevice::WriteOnly | QIODevice::Text);
QTextStream out(&file);
for(int i=0; i<timestrings_.size(); i++)
{
out<<timestrings_[i] <<"\n";
}
file.close();
}
这样就记录下每次秒表停止时候的显示数字了。
直接抓桌面发送出去非常适合测试电脑投屏,采集卡和直播的延迟。
如上图笔记本画面通过采集卡发送到台式机,很清楚的算出延迟是96毫秒。
测量多次,求平均值即可。
以下是我测量某一款采集卡5次的结果
次数 | 延迟 |
---|---|
1 | 96ms |
2 | 91ms |
3 | 92ms |
4 | 97ms |
5 | 93ms |
均值 | 93.8ms |
在我测试的几款采集卡算是很优秀的了。
大家可以参考qt5做一个秒表小软件