为什么会想到修改垂直同步

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

查找关闭的方法

由于用的是 SDL2 + OpenGL,首先想到的是 SDL2 中有没有相关的接口去关闭。

google了一下,果然有一个:

SDL_GL_SetSwapInterval(0);

然而事情肯定没这么简单。果然,运行程序依然60fps。

接着google如何关闭 AMD的垂直同步,找到方案1:

编辑 /usr/share/X11/xorg.conf.d/10-radeon.conf

Section "OutputClass"

Identifier "Radeon"

MatchDriver "radeon"

Driver "radeon"

EndSection

在其中加上如下:

Option "TearFree" "on"

尝试了一下,问题依然,甚至重启后桌面环境都起不来了。

继续google, 在AMD官网找到方案2:

Enabling/Disabling AMD FreeSync

In order to enable FreeSync, please run the following terminal command:

DISPLAY=:0 xrandr --output DisplayPort-# --set "freesync" 1

where # is your display's number (e.g., DisplayPort-0).

In order to disable FreeSync, please run the following terminal command:

DISPLAY=:0 xrandr --output DisplayPort-# --set "freesync" 0

where # is your display's number (e.g., DisplayPort-0).

我用的 DVI 接口所以执行如下命令:

DISPLAY=:0 xrandr --output DVI-D-0-# --set "freesync" 0

DISPLAY=:0 xrandr --output DVI-D-0-# --set "tearsync" "off"

也还是不工作

继续google,最后在 Youtube 上发现方案3:

使用环境变量 vblank_mode

vblank_mode=0 关闭垂直同步

vblank_mode=1 打开垂直同步

# 以环境变量 vblank_mode=0 启动程序

vblank_mode=0 ./OpenGL程序

注意: vblank_mode=0 后 SDL2 中的 SDL_GL_SetSwapInterval(0); 仍然需要,这样才能在程序中打开垂直同步。

竟然可以了,帧率飙升到 6000fps,神奇的东西。

在此还学到个东西:如何以指定环境变量运行程序

OLDPWD=/ cd -

这个命令将 环境变量 OLDPWD=/ 传递给 cd -, 这个设定不会改变 cd 父进程的 OLDPWD环境变量。

这个和在 cd 中执行 putenv("OLDPWD=/"); 效果是一样的。

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

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

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

  2. amd显卡关闭垂直同步 linux,Windows8系统垂直同步怎么关?Intel/AMD/NVIDIA显卡关闭方法...

    垂直同步有时能让大家在Win8系统中玩游戏获得更好的显示效果,而有一些游戏则列外,必须关闭才能正常运行或是有些更好的操作体验,那么系统垂直同步怎么关? 关闭垂直重同步一般需要在显卡的控制面板中进行操作 ...

  3. amd显卡关闭垂直同步 linux,A卡、N卡通用,教你如何真正的关闭垂直同步

    大家都知道,官方一直宣传称自由篮球的手感是120FPS,无延迟流畅. 但实际上,所有使用全屏模式游戏的玩家,都无一例外的有明显的操作延迟,因为帧数永远保持在60FPS以下! 有人就说了,可以在显卡面板 ...

  4. Linux 桌面玩家指南:16. 使用 CUDA 发挥显卡的计算性能

    Linux 桌面玩家指南:16. 使用 CUDA 发挥显卡的计算性能 原文:Linux 桌面玩家指南:16. 使用 CUDA 发挥显卡的计算性能 特别说明:要在我的随笔后写评论的小伙伴们请注意了,我的 ...

  5. Linux 桌面玩家指南:04. Linux 桌面系统字体配置要略

    Linux 桌面玩家指南:04. Linux 桌面系统字体配置要略 原文:Linux 桌面玩家指南:04. Linux 桌面系统字体配置要略 特别说明:要在我的随笔后写评论的小伙伴们请注意了,我的博客 ...

  6. Linux桌面环境通过VNC远程Linux服务器

    linux桌面环境通过VNC远程Linux服务器 现在有的开发者小伙伴的开发环境是linux系统的,如ubuntu.deepin.centos等,很多情况下都需要远程到一些服务器上进行操作.我们知道如 ...

  7. linux中_在 Linux 桌面中开始使用 Lumina | Linux 中国

    本文是 24 天 Linux 桌面特别系列的一部分.Lumina 桌面是让你使用快速.合理的基于 Fluxbox 桌面的捷径,它具有你无法缺少的所有功能.-- Seth Kenlon 多年来,有一个名 ...

  8. 连接到linux桌面,widows 远程连接到linux 桌面!

    linux和windows 这两大系统各有千秋,应用领域各不相同,作为菜鸟啊,我们一般都要一边使用windows ,一边练习使用linux ,对于自己的pc 机上,安装双系统 是很不方便的,虚拟机嘛 ...

  9. linux桌面环境日志,小白的Linux桌面环境的配置手记

    Linux桌面环境的配置 Linux不同于Windows和macOS,是一种开源的操作系统.在网上你可以找到很多以Linux为核心的操作系统,它们统称为Linux distributions,包括Ub ...

最新文章

  1. 关于静态方法的使用方式
  2. 捷报!又一名HIV感染者被治愈,干细胞移植再次立功
  3. Python踩坑指南(第三季)
  4. S01E05 Android体系结构
  5. ASP内置对象Request的ServerVariables集合列表
  6. 面试官问我怎么设计100层大楼的电梯按键,我......
  7. QDU-GZS and String
  8. 关于WM_NCHITTEST消息
  9. docker安装nacos步骤
  10. redis 哨兵的原理
  11. vue动态改变css样式
  12. 高等代数——大学高等代数课程创新教材(丘维声)——1.3笔记+习题
  13. 参加2022年7月PMP考试后感受
  14. 计算机控制系统编程语言,可编程控制器常用的几种编程语言
  15. 保姆级的接口自动化教程,不会写代码也能2小时学会
  16. 手写RPC(五) 核心模块网络协议模块编写 ---- 自定义协议
  17. ASUS 論壇,有官方槍手,想要刪除抗議 Windows 7 的帖子,並合理化,並罵消費者白目
  18. Oracle 裁减了Java布道师员工
  19. php 怎么打印条形码,php – 直接从(zebra)打印机上的浏览器打印贴纸/条形码标签...
  20. 关于人工智能,你知道怎么学吗

热门文章

  1. [轉]MySQL的优化和架构
  2. 2021的到来,精选App帮你开启新的一年
  3. 打印显示服务器脱机win10,win10共享打印机显示脱机怎么处理_win10打印机老是脱机如何修复...
  4. c语言if条件语句PPT,C语言条件语句if.ppt
  5. 4端口书面切换器kvm切换器共享器
  6. linux 常用命令 小白快速入门
  7. 《炬丰科技-半导体工艺》 纳米掩膜蚀刻
  8. 分页封装 PageInfo
  9. 飞定高的无人机还是用双回中遥控器好一些
  10. GCC常用命令与nasm