OpenTK 垂直同步对刷新率的影响
本文将和大家介绍 Vsync 垂直同步的开启对 OpenTK 应用的刷新率的影响
在上一篇博客 OpenTK 入门 初始化窗口 告诉了大家如何初始化 OpenTK 承载 OpenGL 的窗口的应用,在上一篇博客基础上,咱尝试修改创建 MainWindow 的参数,从而测试 Vsync 垂直同步对刷新率的影响
回顾上一篇博客提到的代码,创建窗口的时候设置了两个重要参数,分别是 RenderFrequency 和 Vsync 参数
static void Main(string[] args)
{
var mainWindow = new MainWindow(new GameWindowSettings()
{
RenderFrequency = 0,
}, new NativeWindowSettings()
{
Size = new Vector2i(1000, 1000 / 2),
Title = "OpenTK",
Vsync = VSyncMode.Off
});
mainWindow.Run();
}
在上一篇博客将 FPS 打在了窗口标题上,运行代码可以看到窗口在不断刷新。在我的电脑上以上代码运行的 FPS 能到 1000 以上
在 OpenTK 里面的 RenderFrequency 表示渲染的频率,设置为 0 表示让 OpenGL 以尽可能快的速度进行刷新。设置 Vsync 为关闭即可关闭垂直同步
接下来尝试修改一下参数,使用以下代码关闭垂直同步
internal class Program
{
static void Main(string[] args)
{
var mainWindow = new MainWindow(new GameWindowSettings()
{
RenderFrequency = 0,
}, new NativeWindowSettings()
{
Size = new Vector2i(1000, 1000 / 2),
Title = "OpenTK",
Vsync = VSyncMode.On
});
mainWindow.Run();
}
}
开启垂直同步之后,可以看到窗口标题上的 FPS 只能到 60 左右。但是开启之后在我的电脑上的整体效果会更好一些
可以通过如下方式获取源代码,先创建一个空文件夹,接着使用命令行 cd 命令进入此空文件夹,在命令行里面输入以下代码,即可获取到代码
git init
git remote add origin https://gitee.com/lindexi/lindexi_gd.git
git pull origin 6b04d4bc03c379f776ac4d372833ca1118cb9343
以上使用的是 gitee 的源,如果 gitee 不能访问,请替换为 github 的源。请在命令行继续输入以下代码
git remote remove origin
git remote add origin https://github.com/lindexi/lindexi_gd.git
git pull origin 6b04d4bc03c379f776ac4d372833ca1118cb9343
获取代码之后,进入 NaeawurcaDowhemcenunalfe 文件夹
OpenTK 垂直同步对刷新率的影响的更多相关文章
- lcd参数解释及刷新率计算,LCD时序
一.LCD显示图像的过程如下: 其中,VSYNC和HSYNC是有宽度的,加上后如下: 参数解释: HBP(Horizontal Back Porch)水平后沿:在每行或每列的象素数据开始输出时要插入的 ...
- LCD控制器与帧率、刷新率的关系分析
源:LCD控制器与帧率.刷新率的关系分析 LCM之Fmark功能 && LCD控制器同LCD驱动器的差别 && 帧率与刷新率的关系 && OLED背光
- 痞子衡嵌入式:降低刷新率是定位LCD花屏显示问题的第一大法(i.MXRT1170, 1280x480 LVDS)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是i.MXRT1170上LCD花屏显示问题的分析解决经验. 痞子衡最近这段时间在参与一个基于i.MXRT1170的大项目(先保个密),需要 ...
- 机器学习入门-概率阈值的逻辑回归对准确度和召回率的影响 lr.predict_proba(获得预测样本的概率值)
1.lr.predict_proba(under_text_x) 获得的是正负的概率值 在sklearn逻辑回归的计算过程中,使用的是大于0.5的是正值,小于0.5的是负值,我们使用使用不同的概率结 ...
- 【SignalR学习系列】3. SignalR实时高刷新率程序
创建项目 创建一个空的 Web 项目,并在 Nuget 里面添加 SignalR,jQuery UI 包,添加以后项目里包含了 jQuery,jQuery.UI ,和 SignalR 的脚本. 创建基 ...
- JS倒计时(刷新页面不影响)的实现思路
最近在做一个项目,用到了点击按钮实现倒计时,这个用js来实现很简单.但是遇到了一个问题 页面刷新后js重新加载导致 倒计时重新开始,或者直接初始化了 后来通过 cookie 保存来实现了js倒计时,关 ...
- JS获取验证码后倒计时不受刷新及关闭影响
HTML部分 <input type="button" id="code_btn" value="获取验证码"> JS部分 // ...
- ubuntu桌面版修改屏幕刷新率之后无法进入桌面(一直卡在输入密码的界面)的解决办法
deb https://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiversedeb-src https://mir ...
- DXGI 1.5新特性
为了支持更具弹性和的输出设定和副本机制,DXGI1.5添加了下面这些功能: 高动态范围(HDR)和宽色域(WCG) 可变刷新率显示 复制输出 奉献和再生资源 高动态范围(HDR)和宽色域(WCG) H ...
- WinPhone学习笔记(三)——WinPhone的动画
这段时间又一直赶任务,结果没有去学习,也没有去写博文,这个动画的内容很早就学了,但是一直没把它整理成博文,现在终于有空就弄一下. 开始先讲讲在WinPhone中做动画有两种动画类型,一种是基于帧动画另 ...
随机推荐
- WPF命令绑定
在WPF中有时候不想将命令写在List中,但是却要在前端绑定的List中写入命令 暂时知道两种解决方法 1. Command="{Binding DataContext.NavicateCo ...
- drools中使用全局变量
一.背景 在我们编写drools的规则文件的时候,有些时候需要用到全局变量,那么这个该怎么实现呢?有哪些注意事项呢? 二.前置知识 1.语法结构 2.全局变量的特点 使用global来定义全局变量,它 ...
- nginx进阶-3(32-34天)学习笔记
nginx进阶-3(33-34天)学习笔记 知识回顾 1. nginx部署单机网站 2.nginx部署多个网站 3.nginx访问方式 4.nginx 安全 5.nginx加密访问 实战 00---n ...
- 从0开始设计_基于STM32F1的RC522读写卡
从0开始设计_基于STM32F1的RC522读写卡 1.介绍看网上很多RC522的教程都是基于读卡ID的,这个对于很多应用来说其实没有什么用,最近刚好有个项目需要读写卡,而RC522又是非常常用的且不 ...
- KingbaseES V8R3 运维案例 -- sys_dump备份故障“SYS_MAC_POLICY_ENFORCEMENT”
案例说明: 在KingbaseES V8R3执行sys_dump时出现"ERROR: permission denied for relation SYS_MAC_POLICY_ENFO ...
- #dp#洛谷 2679 子串
题目 有两个仅包含小写英文字母的字符串 \(A\) 和 \(B\). 现在要从字符串 \(A\) 中取出 \(k\) 个互不重叠的非空子串,然后把这 \(k\) 个子串按照其在字符串 \(A\) 中出 ...
- Jetty的threadpool模块
Jetty提供的线程池相关的模块,如下: threadpool threadpool-virtual,使用JDK 21提供的virtual threads. threadpool-virtual-pr ...
- 多次复制Excel符合要求的数据行:Python批量实现
本文介绍基于Python语言,读取Excel表格文件数据,并基于其中某一列数据的值,将这一数据处于指定范围的那一行加以复制,并将所得结果保存为新的Excel表格文件的方法. 首先,我们来明确一 ...
- html-testRunner在unittest测试套件中的使用
废话不多说,直接上代码 代码 __author__ = 'huyang:十一的杂文录' import unittest import HtmlTestRunner import sys sys.pat ...
- 决策树模型(4)Cart算法
Cart算法 Cart是Classification and regression tree的缩写,即分类回归树.它和前面的ID3, C4.5等算法思想一致都是通过对输入空间进行递归划分并确定每个单元 ...