需求是这样的
从10分钟倒计时到0
出现问题的点
schude使用的过程中 帧率浮动较大导致执行时机不准确
解决方法
倒计时之前记录下当前时间(system_clock/steady_clock)
m_beginTimePont = std::chrono::system_clock::now();
在shcude中与其对比 用 总的时间 - 差值 = 实际应该显示时间
auto currentTimePont = std::chrono::system_clock::now();
auto duration = std::chrono::duration_cast<std::chrono::seconds>(currentTimePont - m_beginTimePont).count();
m_nCountDown = m_nTotalCountDown - duration;
此时这个倒计时就不会因为帧率的问题误差越来越大了
本文介绍了一种在帧率波动情况下实现稳定倒计时的方法。通过记录开始时间和当前时间的差值来确保倒计时准确性,避免因帧率变化导致的时间偏差。
3317

被折叠的 条评论
为什么被折叠?



