V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
heshizhe10
V2EX  ›  问与答

关于台式机独显和核显切换用的问题

  •  
  •   heshizhe10 · 2021-09-14 22:04:07 +08:00 · 5219 次点击
    这是一个创建于 1169 天前的主题,其中的信息可能已经有所发展或是发生改变。

    以前一直没注意,从来不用 CPU 核显。这几年打游戏少了,4 年前装了台 8600K 的干脆就没装独显。

    最近把旧的 GTX660 找出来重新装上,显示器 DP 口直接插显卡的 DP 口输出,发现所有图形运算全部走独显,等于核显 UHD630 废了。。。。反复研究找不出怎么智能切换独显和核显。。。。

    难道只能每次想用哪个显卡就把 DP 线重新插过去????

    求教,谢谢。。。。。

    25 条回复    2021-09-17 00:50:14 +08:00
    clague
        1
    clague  
       2021-09-14 22:17:52 +08:00 via Android
    你可以把两个视频线都查显示器上,系统切屏幕就切显卡了
    heshizhe10
        2
    heshizhe10  
    OP
       2021-09-14 22:19:04 +08:00
    @clague 我去,还真是要插两条线啊,,,,
    ysc3839
        3
    ysc3839  
       2021-09-14 22:21:34 +08:00 via Android
    实际上不一定,有的使用 GPU 计算的程序可以指定用哪个 GPU 。不过要使用显存的程序,应该不能实现运算和输出在不同设备上。也有可能是可以,但是大部分程序不提供这个选项。
    billlee
        4
    billlee  
       2021-09-14 22:32:32 +08:00
    nvidia 驱动限制了不让桌面平台使用
    sephinh
        5
    sephinh  
       2021-09-14 23:08:01 +08:00
    笔记本那种切换是要靠驱动的,台式机那就只能靠手动了
    heshizhe10
        6
    heshizhe10  
    OP
       2021-09-14 23:15:26 +08:00
    @ysc3839 是的,目前没发现哪个软件有这个功能。
    heshizhe10
        7
    heshizhe10  
    OP
       2021-09-14 23:15:46 +08:00
    @billlee 怪不得,是 N 卡驱动的问题,我笔记本上就可以选择。。。
    heshizhe10
        8
    heshizhe10  
    OP
       2021-09-14 23:16:26 +08:00
    @sephinh 是的是的,前阵子新买的小新笔记本是可以直接用驱动切换的。
    Alkaided
        9
    Alkaided  
       2021-09-14 23:53:25 +08:00
    Windows 10 可以设置的。Setting - System - Display - Graphic Setting - Graphic Performance Preference - Browse, 找到你对应的应用,点 option 就可以找到了
    secondwtq
        10
    secondwtq  
       2021-09-15 00:24:54 +08:00
    为什么有独显还要用核显?
    qwertyegg
        11
    qwertyegg  
       2021-09-15 03:59:17 +08:00
    桌面点右键->图形设置(display settings)->(最下面的)图形(graphics)

    可以看能不能对于对应的应用程序分配显卡

    我用 tb3,外接显卡但是用笔记本内置屏幕,是可以随便选的,比如视频播放器都用核显,游戏用外显
    ryd994
        12
    ryd994  
       2021-09-15 04:16:06 +08:00
    这个技术是有的:nvidia optimus,但是是笔记本专用。台式机驱动没这个功能。至少官方来说没有。
    非官方的:曾经有一批矿卡,根本没有输出端口(物理),而且驱动里屏蔽了 3D 功能。淘宝卖家利用修改版驱动,强行使用 optimus 集显输出。
    ryd994
        13
    ryd994  
       2021-09-15 04:16:55 +08:00
    核显也不是完全没用。你如果要直播串流的话,集显可以用于编解码。
    jtshs256
        14
    jtshs256  
       2021-09-15 08:05:58 +08:00 via iPhone
    线要插主板上的视频输出口,UEFI 里强制开启核显(默认大部分是自动,插了独显就直接屏蔽了)…win10 下大部分程序分配都很智能,几个不行的到 9L/11L 说的地方设置下就完事了…(手里的 P2200 就是这么用的,不排除 6 系卡不支持)
    Muniesa
        15
    Muniesa  
       2021-09-15 08:12:58 +08:00 via Android
    笔记本可以切换用是因为独显输出的结果还是经过核显显示的吧,开了独显直连的笔记本应该也是不能切换的
    mcone
        16
    mcone  
       2021-09-15 08:59:02 +08:00
    @heshizhe10 笔记本这个功能主要是为了尽量在非必要的时候用集显,目的在于降低功耗减少散热压力增加续航
    台式机官方未提供相关驱动,其实意思也不是非常大,一部分主板在插了显卡后甚至会屏蔽集显
    kokutou
        17
    kokutou  
       2021-09-15 09:14:28 +08:00
    win10 显示设置里可以调,有的程序支持
    heshizhe10
        18
    heshizhe10  
    OP
       2021-09-15 12:40:25 +08:00
    @Alkaided 谢谢,那我的 DP 线应该插哪个口?显卡的还是主板上的?
    heshizhe10
        19
    heshizhe10  
    OP
       2021-09-15 12:40:59 +08:00
    @qwertyegg 谢谢!这种情况下,DP 线应该插哪个口?我今天回家试试。
    secondwtq
        20
    secondwtq  
       2021-09-15 20:55:43 +08:00
    所谓切换显卡的功能,台式倒不是完全没有。

    这东西用 NV 的黑话叫 Optimus,Linux 社区叫 PRIME ( NV 一开始应该就在玩 Transformers 里面的梗)。原本 Linux 可以通过社区搞的 bumblebee (就是上次热情帮用户 rm -rf /usr 的那个)来“模拟”,所谓模拟就是在 dGPU 上开一个 X server,拦截 GL 调用放到那边执行,再把结果读回来显示。这个一直能用,虽然不是官方解决方案(并且不支持 Vulkan,虽然后来有另一个项目做 Vulkan 的)。官方的是在大概 450 驱动的时候,加了 PRIME 的支持。根据文档 http://us.download.nvidia.com/XFree86/Linux-x86_64/470.63.01/README/primerenderoffload.html 并没有提到需要 laptop,只是要“systems with both an integrated GPU and an NVIDIA discrete GPU”。

    OpenGL 程序是通过 GLVND 实现的(因为 OpenGL 标准只告诉你怎么和设备交互,没告诉你和*哪个*设备交互,也就是说执行你 OpenGL 调用的可能是只母猪,或者是个土豆),在我这貌似不太稳定。跑 glxgears 十次有七次能跑,两次 crash,一次黑屏。自己写的 GL 程序也差不多,游戏没找到能跑的。
    Vulkan 自己有选 Device 的功能,好像直接就选到 dGPU 了,可能有些程序自作多情,觉得我比用户牛逼别教我写程序,帮你选了,也可以通过设置 VK_ICD_FILENAMES 改回来。我这 Vulkan 的 PRIME 出奇的稳定,并且完全可以和 DXVK 一块用。

    如果你用 Valve 的 Proton 跑游戏的话,新版本 Proton 中以上全部无效,因为较新版本的 Proton 用了 pressure-vessel 容器,会把所有安排全都搞乱,官方回复是这种 scenario 太复杂没法支持。不过官方提供的不用 pressure-vessel 的最后一个版本( 5.0 )也不是太老,还很能用。
    由于 Linux native 的游戏大多没 Vulkan 支持( V 社给 Portal 做 Vulkan 支持还是用 DXVK 做的 ...),在这种设定下,除了星露谷这种根本用不上 GPU 之外的游戏之外,最佳的方式居然是用 Win 版+老版 Proton+DXVK+官方 PRIME ...

    另外还有一点就是为什么要折腾这么麻烦,因为我只有一个 PCIe 槽,但是遇到 Proton 搞不定的情况要开虚拟机 ... 所以必须蹭 iGPU (大部分 AU 和 F 版都不行),并且 host 显示输出只能接 iGPU 。不过本来如果只挂 nvidia 模块用 bumblebee,就可以在需要的时候把卡卸掉给虚拟机用,用完再挂回来。如果使用官方 PRIME,需要额外挂载 nvidia_modeset 模块,好像之前有一段时间也是可以这么干,但是由于我是该死的 Arch Linux 用户,貌似在升级了一次之后就只能挂上去不能卸下来了 ...
    ysc3839
        21
    ysc3839  
       2021-09-15 23:16:10 +08:00 via Android
    @secondwtq 个人比较好奇 Windows 下双显卡切换的技术细节是怎样的。看上去 IAN 三家的显卡随意组合都可用的,并没有跟 N 捆死,所以说它们都用了同样的协议?是 NVIDIA 把这项技术共享给了另外两家吗?
    以及双显卡切换是否需要硬件上配合,是纯软件就能实现吗?
    rosees
        22
    rosees  
       2021-09-16 00:39:04 +08:00
    现在大部分的游戏和软件在工作的时候会选择独立显卡,比如吃鸡,你显示器连接 iGPU 同时电脑上有独立显卡,会使用独立显卡去渲染~ PR 达芬奇之类的也是一样,默认独立显卡但是设置里也能单独设置
    heshizhe10
        23
    heshizhe10  
    OP
       2021-09-16 17:13:46 +08:00
    @rosees 这和我显示输出线插在哪个口有关么?就如上面朋友问的,windows 系统及硬件层面应该也有分配逻辑和数据走向,具体是怎么样的,好像没见过哪里介绍。
    secondwtq
        24
    secondwtq  
       2021-09-16 19:13:01 +08:00
    @ysc3839 细节我肯定不知道,Windows 上的细节更不知道。
    Linux 上的话倒是可以看看 Mesa 里面的 PRIME 实现。

    这是 Optimus 的 whitepaper https://aps2.support.emea.dynabook.com/kb0/TSB2803DK0000R01_Optimus_Whitepaper_FINAL.pdf

    当然文档是十几年前的了,不过总体架构应该不会有大的改变。跟 VirtualGL/Primus 干的事情差不多,就是显示输出接 iGPU 上,但是图形 API 指令发到 dGPU 上渲染,渲染完了再把结果通过 PCIe 传回来。
    理论上软件可以实现,硬件和软件的主要区别应该在于性能,比如软件只能利用现有 API 做各种 hack,而硬件实现的数据传输可以更快。

    另外我的理解,无论硬件还是软件,很多用户看上去很 magic 的东西,核心思想都不难,想通了关键点就能做出原型。当然 devil is in the details,具体做成产品是另外一回事。比如某款芯片新版本把缓存增大了多少多少,因此提升了多少多少性能,外人看起来很简单,但是做的时候从“怎么提升性能”出发,到“加多少缓存能提升多少性能”,“加缓存理论有用但设计上能否实现”“加了缓存会不会影响其他指标”之类会有一堆问题。

    当然最后发布的时候,就会挂上一堆 marketing 的黑话,外人看上去就很牛逼的样子,感觉“我们香蕉真是太厉害啦”。但是如果其他家不缺实现的基本能力和钱的话,没必要直接“共享”技术细节。当然 A 可能一开始没想到这个 idea,不过 NV 的 whitepaper 已经把关键点说出来了(实际上远程渲染老早就有,应用到本地多 GPU 上是不是 NV 第一个就不知道了)。
    rosees
        25
    rosees  
       2021-09-17 00:50:14 +08:00
    @heshizhe10 我说的很清楚了,你要是不识字就回去查字典
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1042 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 20:39 · PVG 04:39 · LAX 12:39 · JFK 15:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.