刷新率

一般来说 刷新率是相对于显示器来说的参数,就是我们常说的60HZ 或者 144HZ。对于其意义就是代表在1秒钟之内刷新的次数,所以通常来说 刷新率越高的屏幕用起来越舒服,个人比较喜欢144HZ 刷新率的屏幕 因为真的看起来比 60HZ的舒服多了,用过一次144HZ就再也不想用60HZ的屏幕了,当然屏幕价格也客观上来讲 刷新率越高 也越贵。

FPS

当然这个代表的是应用程序每秒可以提供多少帧的数据啊,一般是由渲染算法,和CPU GPU等各种因素决定的,总而言之凡是能影响计算一个画面所需要的时间的因素都会影响FPS的值,第一次知道这个值是在打LOL的时候,那时候只有一个浅显的概念,FPS的数值越大打游戏就越流畅。其实就是这样,当FPS越大 ,在显示器刷新率的支持的前提下,一秒钟可以计算的画面越多,那么对于人眼来看,一秒中帧数越多自然就是越流畅啦

那么既然存在 应用程序的每秒钟能计算的画面的次数,还有显示器的每秒的刷新的次数俩个参数,那么这俩个值如果配合不好就会存在各种各样的问题。

画面撕裂 跳帧

当应用程序每秒钟的帧数大于屏幕的刷新速率的时候,那么此时就会存在于 当显示器还在刷新前一帧的时候,应用程序程序就已经计算好第二桢了,所以就会出现,画面中间存在一条或者多条明显的"线段" 把每一帧隔开来。
当然还会有一些问题比如跳帧 ,也还是画面撕裂的原因,应用程序计算画面的速度太快了, 比如AMD 3600X CPU 6核12线程每秒钟可以执行38亿条指令。导致显示器对于某些桢来不及刷新。

输出延迟

除了 应用成刷新画面的速度快于显示器的刷新速率,那当然还有显示器的刷新速率高于应用程序计算桢的速度这种情况,那么由于应用程序第二桢没计算完成,所以导致显示器只能一直显示第一桢的画面,导致了延迟。那如果第二次在刷新第一桢的一半的时候 第二桢计算出来了,那么又会出现画面撕裂的现象了。

垂直同步

于是为了让FPS和刷新率 达到一致就会出现了垂直同步这种手段。早期由于无法控制显示器的刷新率 所以只能通过控制应用程序来同步FPS和刷新率。
它应用的场景就在于FPS高于刷新率的时候去起作用。
当然现在很多显示器也支持调整刷新率的接口,也可以通过改它来同步。

书写速度

在书写软件中,有关于书写速度一直都是软件的核心技术点,所以一般来说为了让用户在软件中书写的效果尽可能的接近于真实书写感觉,书写软件必须尽最大的努力来降低书写延迟。于是呢,一种做法就是关闭应用程序的垂直同步来尽可能让书写速度降低。

在QT中关闭垂直同步的办法是
在主函数中

QSurfaceFormat format = QSurfaceFormat::defaultFormat();
format.setSwapInterval(0);
QSurfaceFormat::setDefaultFormat(format);

但是呢关闭垂直同步之后就会有一个很严重的问题在Window 平台上。
此时我们再去在QML写动画或的时候,效果会变快, 会快于我们的设置的时间
比如在qml中写一个

   Rectangle{id: rectwidth: 200height: 200color: "red"}PropertyAnimation{id: animation;target: rect;property: "width";to: 30;duration: 5000onRunningChanged: {console.info(running,"xxxx\n\n")}}Component.onCompleted: {animation.start()}

我们本意是让rect 这个Rectangle 的 width 在 5秒内 从200 变为30 但是呢 运行程序会发现效果很快,绝对小于5秒钟的时间。这个问题就是我要说的问题。

到现在还没有找到网上关于这块的解释,之前有有看过帖子有问相同的问题的人,但是还想并没有合理的解决方案。

上面就是我参考网上的一些知识然后自己的思考,不能保证全对,仅供参考哦,如果有什么不正确的地方欢迎指正 ( =•ω•= )m
当然你恰巧知道这个问题的原因也可以教教我ya 感谢! Ψ( ̄∀ ̄)Ψ

【Qt】 关于垂直同步 以及在Window 下的一个关闭垂直同步动画过快的问题-暂未找到解决方案相关推荐

  1. 绘制不同光照条件下识别率多项式拟合曲线图(暂未找到最佳拟合曲线)

    文章目录 第一种方法 第二种方法 第一种方法 # -*- coding: utf-8 -*- """ @File : plot.py @Time : 2020/2/24 ...

  2. linux桌面开启垂直同步刷新,关于Linux下AMD显卡关闭垂直同步的方法

    为什么会想到修改垂直同步 在写OpenGL代码的时候发现帧率只有60fps左右,非常无语,我的RX470D怎么着也不可能才跑这么点,连特么核显都不如啊.想想一定是开了垂直同步.那就想辙关闭呗. 查找关 ...

  3. amd显卡关闭垂直同步 linux,windows10系统amd显卡怎么关闭垂直同步

    当我们在windows10系统中运行游戏的时候,可能会遇到游戏掉帧卡顿的情况,那么可能是因为amd显卡开启了垂直同步的原因,我们可以关闭垂直同步,该怎么操作呢,本文就给大家讲解一下windows10系 ...

  4. 解决 QRibbon 在VS+Qt 环境下的编码报错问题 “文本后缀无效; 未找到文文本运算符或文本运算符模板“

    一.问题 在使用QRibbon时编译报错 "文本后缀无效; 未找到文文本运算符或文本运算符模板",是因为编码问题,需要将程序文件进行编码设置 二.解决方案 1.Visual Stu ...

  5. window.open打开一个新空白页面,不会自动刷新【解决方案】

    调用js方法: function BuildPostForm(fm, url, target) {var e = null, el = [];if (!fm || !url)return e;targ ...

  6. 通过nginx在window下部署项目

    1-安装nginx 首先,进入nginx 的官网,下载nginx,安装nginx 通过,https://nginx.org/ 链接进入 Mainline version:开发版,mainline 目前 ...

  7. 垂直同步是什么意思,到底是打开还是关闭垂直同步?

    大家在玩游戏的时候应该注意到了"垂直同步"这个名词.现在很多游戏特效设置了里边都有这个选项,那么到底是打开还是关闭垂直同步? 垂直同步是什么意思 ,有什么作用呢?         ...

  8. Window下UDP(socket)接和收数据案例

     配置QT的环境变量,这台电脑à属性à高级系统设置à高级à环境变量à系统变量àpathàC:\Qt\Qt5.3.0\5.3\mingw482_32\bin;C:\Qt\Qt5.3.0\Tools\ ...

  9. linux qt 连接sqlite3,RedHat 9 Linux下在QT3.1中连接SQLite3全过程详细记录

    作者:zieckey([email]zieckey@yahoo.com.cn[/email]) All Rights Reserved 下文介绍的内容都是基于 Linux RedHat 9.0 平台的 ...

最新文章

  1. 封条格式用word怎么打_大门封条格式用word怎么打
  2. VTK:字形2D用法实战
  3. java 判断精度_随笔⑦ Java中的比较 ==,equals以及精度对比较的影响
  4. python3 一 线程与互斥锁详解
  5. Spring Bean垃圾回收
  6. 利用python从网络上爬取图片_我用Python爬取了妹子网100G的套图
  7. JS输入银行卡号,4位自动加空格 ,根据银行卡号获取开户行和银行
  8. background简写方式
  9. Blackberry上网问题解决方案
  10. python正负数转换_python – 将正/负数舍入到最接近的“整数”
  11. 1.3 anaconda的安装和使用
  12. 联想笔记本电脑主板分析与维修(型号G50-70M版号NM-A273) 问题:按电源开关不开机无反应,充电指示灯不亮
  13. [HNUOJ1140] Daily Division(树状数组+二分)
  14. 电脑软件测试英雄联盟,lol电脑配置检测,如何测试自己的网络玩lol的具体情况?...
  15. 浅谈密码学——加密者与破译者的博弈
  16. USACO 1.3.1 挤牛奶
  17. AE-新知识-关于快捷键“U”和“S”
  18. 电化学传感器(3)---气体采样系统
  19. 累加一到50python_numpy累加方法介绍
  20. 2021年智能制造工程设计与应用类赛项:离散行业自动化方向(2)-项目方案设计书

热门文章

  1. 使用idea将指定的类文件导出为jar包
  2. ec java sm2证书_SM2国密证书合法性验证
  3. 数据库隔离级别—Database Isolation Level
  4. 李嘉诚:做老板还是做领袖
  5. Android 基于4.4系统截屏的三指截屏
  6. 微信办公的痛苦,正在成为创业公司的机会
  7. php mysql中文排序失效解决方法convert(name USING gbk)
  8. 旋转目标检测综述(持续更新中)
  9. 鸿蒙系统跑分对比骁龙强吗,跑分确实高了:鸿蒙系统安兔兔跑分出炉,但不足以解释系统流畅度...
  10. Js读取Cookie中指定字段的值,Js中读取某个Cookie,Js中根据Cookie的key得到对应的value,Js正则表达式匹配指定的Cookie