首页 > 其他分享 >OpenTK 入门 Vsync 垂直同步对刷新率的影响

OpenTK 入门 Vsync 垂直同步对刷新率的影响

时间:2023-09-05 19:11:52浏览次数:42  
标签:origin git Vsync new OpenTK 刷新率 1000

本文将和大家介绍 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 左右。但是开启之后在我的电脑上的整体效果会更好一些

本文以上代码放在githubgitee 欢迎访问

可以通过如下方式获取源代码,先创建一个空文件夹,接着使用命令行 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 文件夹

标签:origin,git,Vsync,new,OpenTK,刷新率,1000
From: https://www.cnblogs.com/lindexi/p/17680577.html

相关文章

  • SPI驱动0.96寸OLED单色屏刷新率测试以及代码优化改进,方法适用于SPI驱动其他设备
    目前嵌入式当中OLED常用驱屏方式有两种:SPI或IIC。以速度来讲,SPI速度相较于IIC会快上一些,硬件IIC相较于模拟IIC速度又会快上一些。此外还有模拟SPI的,但该种用法我遇到较少,本文就硬件SPI驱动OLED屏幕做一个简单的刷新率测试。 测试硬件平台:CH32V307VCT6+杜邦线连接0.96寸SPI接口O......
  • 使用手机相机检测电脑屏幕刷新率Hz
    使用手机相机检测电脑屏幕刷新率Hz1、电脑打开https://www.testufo.com/frameskipping2、相机专业模式:快门1/10、ISO自动,拍摄一张照片。120Hz至少要有12个亮块,50Hz至少有6个亮块。更改刷新速率1、选择“开始>设置>系统>显示>高级显示器。2、在“选择刷新速率”旁边,选择......
  • i3wm下调节分辨率及其刷新率
    查看和调节显示器的分辨率使用xrandr命令我们一般需要先查看当前的显示器及其情况再去设置调节查看当前显示器及其情况直接在终端输入xrandr即可;输出如下:Screen0:minimum8x8,current1920x1080,maximum32767x32767HDMI-0disconnected(normalleftinvertedr......
  • 用CRU给笔记本显示器超频刷新率
    https://www.monitortests.com/forum/Thread-Custom-Resolution-Utility-CRU1、下载下来解压后得到4个文件,双击CRU 2、点击Add3、在RefreshRate后面改超频刷新率,然后点OK 4、回到4个文件那里,双击restart64(你是32位系统就双击restart)5、等电脑闪屏后,重启电脑。(不重启......
  • How to enable Vsync with Software Rendering in SDL [SOLVED]. 如何在SDL2下实现
    HowtoenableVsyncwithSoftwareRenderinginSDL[SOLVED].Hi,IjustfiguredoutthedirtywaytoenablevsyncwithsoftwarerenderingonSDL.Thiswasbotheringmeforaweeknow&I'veseenmanyquestionsonthenetwithoutanswer.ButIf......
  • 单片机中如何测量显示屏的刷新率?一个简便的测思路和测试办法
    先上代码12832显示屏的帧率测量程序-不打鱼光晒网-博客园(cnblogs.com)这是STM32F103C8硬件SPI时钟18Mhz搭配DMA的效果  这个办法并不准确,但对于了解当前单片机的刷屏速度来说那绝对是够了 在主程序里循环刷屏,硬件SPI+DMA使用一个定时器,计5秒,5秒到了拿刷屏次数......
  • 学习OpenTk,笔记一
    说明,由于对图形化感兴趣,之前也从来没有大的接触,只是简单的使用GDI+绘图,比如验证码、水印等简单操作,至此想多深入了解一下。版本OpenTK4.7.4,目前封装OpenGL最好的库,包含O......
  • 如何查看、设置显示器的分辨率和刷新率
     001、右击桌面,选择显示设置  002、此处查看及设置显示器分辨率   003、点击高级显示设置  004、此处查看及设置刷新率 ......
  • OpenTK第二章: Introduction to OpenTK(简介)
    Firstofall,whatisOpenTK?首先,什么是OpenTK?Simplyput,theOpenToolkitisafreeprojectthatallowsyoutouseOpenGL,OpenGL|ES,OpenCLandOpenALAPIs......
  • opentk第0章 chapter0
    Chapter0:LearnOpenTKin15'第0章:在15年学习OpenTKSo,youhavedownloadedthelatestversionofOpenTK-whatnow?所以,现在你已经下载了最新版本的OpenTK-接......