如何在electron.js中强制使用离散GPU?

时间:2019-01-31 15:47:16

标签: electron webgl gpu

更新:我还看到了文档和讨论,它必须始终使用独立的GPU,但不是,此刻它始终使用内部的GPU。

如果要集成和离散,我需要在electronic.js应用程序中使用离散GPU,如何在Electron中强制使用它?

在c ++中,可以这样完成:

extern "C" 
{
  __declspec(dllexport) unsigned long NvOptimusEnablement = 0x00000001;
  __declspec(dllexport) int AmdPowerXpressRequestHighPerformance = 1;
}

如何在electronic.js中做到这一点?

2 个答案:

答案 0 :(得分:0)

对于当前的Electron.js / WebGL,没有机制可以强制执行此操作。但是,您不需要这样做,因为默认情况下在离散GPU上运行。

答案 1 :(得分:0)

我发现,您可以通过设置特殊的Windows env变量来静默地重新启动应用程序,这将强制进程使用专用GPU。

const { spawn } = require('child_process');

// Restart with force using the dedicated GPU
if (process.env.GPUSET !== 'true') {
  spawn(process.execPath, process.argv, {
    env: {
      ...process.env,
      SHIM_MCCOMPAT: '0x800000001', // this forces windows to use the dedicated GPU for the process
      GPUSET: 'true'
    },
    detached: true,
  });
  process.exit(0);
}