如果我睡10毫秒。我需要增加什么才能获得第二个?

2023-12-03

即我正在使用std::this_thread::sleep_for(std::chrono::milliseconds(10));在程序循环中。

如果我有一个变量在此循环中递增以显示经过的秒数,我需要递增什么?

i.e. float x = 0;

对于每个步骤:

x += 0.01

我尝试过 0.1、0.01、0.001,但它们看起来要么太快要么太慢。


我建议使用absolute时间点和wait_until()。像这样的东西:

// steady_clock is more reliable than high_resolution_clock
auto const start_time = std::chrono::steady_clock::now();
auto const wait_time = std::chrono::milliseconds{10};
auto next_time = start_time + wait_time; // regularly updated time point

for(;;)
{
    // wait for next absolute time point
    std::this_thread::sleep_until(next_time);
    next_time += wait_time; // increment absolute time

    // Use milliseconds to get to seconds to avoid
    // rounding to the nearest second
    auto const total_time = std::chrono::steady_clock::now() - start_time;
    auto const total_millisecs = double(std::chrono::duration_cast<std::chrono::milliseconds>(total_time).count());
    auto const total_seconds = total_millisecs / 1000.0;

    std::cout << "seconds: " << total_seconds << '\n';
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如果我睡10毫秒。我需要增加什么才能获得第二个? 的相关文章

随机推荐

  • 如何更改EditText中的线条颜色

    我正在我的布局 xml 文件中创建一个 EditText 但我想将 EditText 中的颜色线从 Holo 更改为 例如 红色 如何做到这一点 这是您可以用于所有视图的最佳工具 并且它是免费的 非常感谢 杰罗姆 范德林登 Android
  • 设置 Firebase 存储文件大小和文件数量限制

    我上传成功images使用 AngularFire2 进行 Firebase 存储 我有以下上传代码 this AfStorage ref images userId timeStamp putString base64Image data
  • 未找到名称为“default”的配置。安卓工作室

    我有一个 Android Studio 应用程序 它有一个库依赖项 Android Bootstrap 当我尝试同步 gradle 时 它 给了我一个错误 未找到名称为 default 的配置 我的结构是 FTPBackup fotobac
  • 在UIWebview ios中显示特定的pdf页面

    我目前正在开发一个项目 我有 ios 需要显示 pdf 文件 不过我想选择要显示的页面 例如 请参阅 UIWebView 中的第 10 页 共 37 页 我还没有找到一种方法来干净地分离 pfd 的页面 感谢您的帮助 Use UIWebVi
  • 在 Bash 中将命令行参数转换为数组

    如何将命令行参数转换为 bash 脚本数组 我想采取这个 something sh arg1 arg2 arg3 并将其转换为 myArray arg1 arg2 arg3 这样我就可以在脚本中使用 myArray 来进一步使用 上一篇文章
  • 为 MSSQL Server docker 映像启用 XA 事务

    我有用于开发的 MSSQL Server Linux docker 映像 我需要在此实例上启用 XA 事务 我进行了很多搜索 但我发现的所有教程仅显示如何从 Windows 计算机执行此操作 而不显示 Linux 那么如何从命令行启用 XA
  • 迭代值时,为什么当 value 是数字时 typeof(value) 返回“string”? JavaScript

    我使用 Google Chrome 进行此测试 与直觉相反 第一个循环警告 string 三次 而第二个循环警告 number 三次 numarray 1 2 3 for each loop for num in numarray aler
  • 如何正确清理存储电子邮件的 SQL 查询

    我有一个查询 该查询转到邮箱并尝试将所有电子邮件保存在表中 它在大多数情况下都有效 但当电子邮件内容值包含双引号或单引号时 它会失败 如何修改我的代码以正确插入所有查询 num imap num msg imap if num gt 0 f
  • 如何在javascript中访问单击的表格行的特定单元格

    我有一个从数据库填充的 HTML 表 以及一个 jquery 函数 将客户端单击事件添加到每个表行 function TreeTable tr each function index this click function alert th
  • 使用 OpenCV 组合两个图像

    我正在尝试使用 OpenCV 2 1 将两个图像合并为一个 并将两个图像彼此相邻放置 在Python中 我正在做 import numpy as np cv img1 cv LoadImage fn1 0 img2 cv LoadImage
  • 保存为 GIF 后图像质量下降

    我正在开发一款 iOS 应用程序 它允许用户拍摄一系列照片 然后将照片放入动画中并导出为 MP4 和 GIF 虽然 MP4 呈现源质量 但 GIF 颜色等级是可见的 这是视觉比较 GIF MP4 我用于导出为 GIF 的代码 var dic
  • Android Firebase 消息传递 SDK 如何防范 Intent 欺骗?

    我使用 Firebase Messaging 创建了一个简单的项目 并使用以下依赖项 implementation com google firebase firebase messaging 20 0 0 我已经构建了该应用程序并检查了它
  • SwiftUI 登录页面布局

    我正在探索 SwiftUI 因为我正在尝试构建登录视图 现在我面临一个问题 这就是我想要实现的目标 正如你所看到的 我已经达到了这一点 但我不喜欢我的实现 struct ContentView View State var username
  • Twilio Studio:将短信对话日志转发到电子邮件

    我正在使用 SMS studio 与入站 SMS 消息进行快速聊天机器人对话 并希望在完成后将对话日志转发到电子邮件 我编写了一个使用 SendGrid API 的函数将短信转发至电子邮件 它独立工作 即 如果我将电话号码配置为在文本输入时
  • _泛型与可变参数函数相结合?

    在 C11 中 我可以创建一个函数 其原型如下所示 void myVaFunc const char const conv 我可以这样运行它 myVaFunc ici 1 test 2 该函数会知道 解析第一个参数后 还有 3 个附加参数
  • QImage 能够打开并渲染纯 16 位图像吗?

    我想标题已经解释了我想知道的事情 有没有可能用 Qt 打开和保存 16 位图像 我并不是指 3 8 24 位或 4 8 32 位 这与纯 8 位图像完全相同 我指的是 R G 和 B 的纯 16 位 与 Patrice 所说的相反 每个组件
  • 詹金斯奴隶中的“mvn:未找到”

    我有 Jenkins Slave 安装了 Java 和 Maven 环境是 Debian 我可以在控制台中运行 java version 和 mvn version 命令 但是当我尝试在 Jenkins 作业中执行 shell 命令时 我收
  • 如何将图像和文本垂直居中对齐?

    我在顶部有一个 DIV 和一些锚点 第一个是徽标样式 其余的是文本 我设置的样式如下 div nav top height 120px vertical align middle a nav logo background no repea
  • QMediaPlayer。如何播放带有多个音频的视频?

    有一个带有两个音轨的视频文件 Duration 01 05 09 12 start 0 000000 bitrate 2781 kb s Stream 0 0 Video mpeg4 Advanced Simple Profile XVID
  • 如果我睡10毫秒。我需要增加什么才能获得第二个?

    即我正在使用std this thread sleep for std chrono milliseconds 10 在程序循环中 如果我有一个变量在此循环中递增以显示经过的秒数 我需要递增什么 i e float x 0 对于每个步骤 x