【发布时间】:2017-01-10 15:43:07
【问题描述】:
我的机器上有两个独立的显卡 (2x NVS 315) 和连接到它们的三台显示器(一张卡上有 2 台显示器,另一张卡上有 1 台显示器)。
为了查看我的 PixiJS 代码在多个浏览器窗口上并排运行时的性能,我在每个监视器中打开了一个 Chrome 窗口。
令我惊讶的是,处理我的主屏幕的 GPU (GPU#1) 完成了大部分工作(实际上是 100% 的使用率),而另一个 GPU (GPU#2) 的使用率保持在 40% 左右。即使我只在连接到 GPU#2 的显示器上运行浏览器窗口后,这仍然是正确的。 我的期望是,当连接到它的监视器上呈现浏览器窗口时,GPU #2 将完成所有工作。显然情况并非如此,GPU#1 的使用率为 70%,而 GPU#2 的使用率为 40%。
说实话,我很确定这不是 PixiJS 的问题,而是 Chrome/WebGL/OpenGL 的问题。
然后,我对在窗口模式和全屏模式下运行的其他 OpenGL 游戏进行了一些实验,并看到了相同的行为。与主屏幕关联的 GPU 似乎总是完成大部分工作。
我在这里看到了对这种行为的可能解释:https://superuser.com/questions/731852/how-is-gpu-affinity-decided-in-a-multi-gpu-configuration#comment939363_731852
WebGL/PixiJS 中有什么方法可以指定 GPU 亲和性吗?
【问题讨论】:
标签: google-chrome gpu webgl chromium pixi.js