更新:我还看到了文档和讨论,它必须始终使用独立的GPU,但不是,此刻它始终使用内部的GPU。
如果要集成和离散,我需要在electronic.js应用程序中使用离散GPU,如何在Electron中强制使用它?
在c ++中,可以这样完成:
extern "C"
{
__declspec(dllexport) unsigned long NvOptimusEnablement = 0x00000001;
__declspec(dllexport) int AmdPowerXpressRequestHighPerformance = 1;
}
如何在electronic.js中做到这一点?
答案 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);
}