c++ - 没有动画框架的Qt动画

标签 c++ linux windows qt animation

我需要每秒更新 30...60 次 QPixmap 1024x128(数学函数绘制图片)并且我不想使用动画框架 - 我认为这对于这个目的来说太过分了。数学函数的运行速度比 1/60 秒快得多,并且需要恒定的时间来运行,因此这不是问题。

我应该使用每秒 30...60 个滴答 (TPS) 的 QTimer 并在定时器 SLOT 中调用 update() 吗?但是 QTimer 没有与实际的屏幕更新同步,而且 QTimer 不准确。我的 QTimer 速率可能太低(运动不流畅)或太高(吃太多 CPU)——如何找到好的?我的实验表明,我的 linux 和 windows 测试机器需要不同的 QTimer 间隔才能顺利更新:linux:30 TPS,windows:50...60 TPS(如果我设置 1000/30 毫秒,我会看到崎岖的运动)。

或者我可能误解了动画框架,实际上它非常简单并且适合这项任务?

最佳答案

远景,但排除动画框架后,您不会给我们留下很多选择。一个想法,如果你的数学函数可以预先计算所有帧,那么只有在你的数学函数可以预先计算出所有帧的情况下才有效,那就是动态生成动画 gif 或 mng 并使用 QMovie 播放它。但是从开销来看,我不确定它是否比动画框架更好。

关于c++ - 没有动画框架的Qt动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18510010/

相关文章:

c - 父子进程随机结束(linux,c,fork())

node.js - systemd 服务处于非事件状态(已死)

linux - 发现 printf 无法打印换行符或回车符

windows - 什么时候无法支持 Visual Basic 6.0 应用程序?

c++ - 使用继承函数而不是基础函数(不是抽象的)

c++ - 绘制线条时关闭openGL中的颜色插值

json - Powershell - 从字符串中删除

windows - 为什么特定的 Windows 批处理参数会导致崩溃?

c++ - 稍后设置 wxTE_PASSWORD

c++ - 将字符串从 getline 转换为数字