AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 428197
Accepted
Abhik Bose
Abhik Bose
Asked: 2018-03-06 00:31:15 +0800 CST2018-03-06 00:31:15 +0800 CST 2018-03-06 00:31:15 +0800 CST

如何检查应用程序是否使用基于硬件或软件的显示渲染?

  • 772

我的系统有一个GPU和一个共享的视频内存。我正在使用 Fedora 27。lspci输出中的一些重要行如下。

00:02.0 VGA compatible controller: Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 0b)
0a:00.0 Display controller: Advanced Micro Devices, Inc. [AMD/ATI] Sun LE [Radeon HD 8550M / R5 M230]

我从“如何检查我的系统是否支持硬件加速?是在 CPU 上还是主板上?”中了解到的。是它是一个决定是使用基于硬件还是基于软件的渲染的应用程序。

Google Chrome可以选择关闭硬件渲染的事实支持了这一点。

但是,在从gnome 3所有应用程序启动应用程序时,可以选择使用专用图形启动。

所以,我有两个问题

  1. 谁来决定使用什么渲染(启动器Gnome 3或应用程序单独或其他)?
  2. 如何检查正在运行的应用程序正在使用什么渲染?

对此的任何解释都将受到高度赞赏。

hardware performance
  • 1 1 个回答
  • 3706 Views

1 个回答

  • Voted
  1. Best Answer
    Stephen Kitt
    2018-03-06T00:50:00+08:002018-03-06T00:50:00+08:00

    这里有很多问题。

    首先,应用程序可以支持多种渲染方法,例如OpenGL和软件渲染。如果应用程序以软件呈现,则根本不会使用硬件加速(或最低限度,例如用于 blitting 操作等);当您在支持它的应用程序(Chrome,许多旧游戏)中选择软件渲染时,通常会发生这种情况。如果应用程序使用 OpenGL 或类似的东西进行渲染,加速将取决于可用的硬件以及是否安装了适当的驱动程序和库。在大多数情况下,您将获得硬件加速,尤其是在您使用 GNOME 3 时,因为这需要硬件加速(所以如果 GNOME 3 在非经典模式下启动,您肯定可以使用某种形式的硬件加速)。

    其次,在像您这样具有两个 GPU 的系统上,可以通过集成 GPU 或专用 GPU 提供加速。这通常不是由应用程序控制的,而是由内核使用VGA switcheroo控制的。最新版本的 GNOME 支持明确地使用集成 GPU 或专用 GPU 启动应用程序;这就是“使用专用显卡启动”选项确定的内容(有关详细信息,请参阅此博客文章)。如果您“正常”启动 OpenGL 应用程序,它将使用您的集成(英特尔)GPU 进行硬件加速;如果您使用“使用专用显卡启动”启动它,它将使用您的专用 (AMD) GPU 进行硬件加速。

    要确定正在运行的应用程序是否正在使用硬件渲染,至少在使用非专有驱动程序时,您可以找到应用程序的进程 id 然后运行

    lsof -p ${pid} | grep /dev/dri
    

    (替换${pid}为适当的值)。如果这输出包含类似 的行/dev/dri/card0,则应用程序正在使用硬件渲染运行(并且卡号将告诉您它正在使用哪个 GPU — 将值/dev/dri/by-path与 PCI 标识符匹配);否则,它不是。

    • 5

相关问题

  • 进程创建时间、shell脚本和系统调用开销

  • 在 Linux 中获取 CPU 步进

  • AIX:lscfg 的输出是什么意思?

  • 如何在 Linux 中禁用硬件加速?

  • 销售没有预装专有操作系统的计算机的公司?[关闭]

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    ssh 无法协商:“找不到匹配的密码”,正在拒绝 cbc

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    如何卸载内核模块“nvidia-drm”?

    • 13 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Wong Jia Hau ssh-add 返回:“连接代理时出错:没有这样的文件或目录” 2018-08-24 23:28:13 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Bagas Sanjaya 为什么 Linux 使用 LF 作为换行符? 2017-12-20 05:48:21 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve