![](/img/trans.png)
[英]Difference between two nanosecond chrono::time_points, but in seconds?
[英]Should you use duration_cast<>() or not to measure the difference between two chronos::time_points?
對於以下哪段代碼正確,我找不到明確的答案:
目的是每“ val”毫秒在循環中執行一些代碼。 正如我之前所了解的,您可以將持續時間替換為所需的任何單位(秒,納米等)。但是,是否需要使用duration_cast才能使其正常工作?
1)
auto m_intervalFrameCounting = std::chronos::milliseconds(val);
auto now = high_resolution_clock::now();
auto diff = now - m_lastTimeFramesCounted;
if (diff > m_intervalFrameCounting) {
m_lastTimeFramesCounted = high_resolution_clock::now();
//do something
}
或:2)
auto m_intervalFrameCounting = std::chronos::milliseconds(val);
auto now = high_resolution_clock::now();
auto diff = now - m_lastTimeFramesCounted;
if (std::chronos::duration_cast<milliseconds>(diff) > m_intervalFrameCounting) {
m_lastTimeFramesCounted = high_resolution_clock::now();
//do something
}
duration_cast
用於將持續時間轉換為會導致精度下降的類型。 例如,毫秒到秒。 隱式允許秒到毫秒。 #2方法沒有理由,您希望實現什么? #1是您所追求的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.