gpt4 book ai didi

macos - 使用Metal API时如何请求使用集成GPU?

转载 作者:行者123 更新时间:2023-12-03 16:35:09 29 4
gpt4 key购买 nike

根据 Apple 文档,当将“NSSupportsAutomaticGraphicsSwitching”键的值“YES”(或 true)添加到 OSX 应用程序的 Info.plist 文件时,将在双 GPU 系统上调用集成 GPU(与独立 GPU)。这很有用,因为集成 GPU 虽然性能较低,但足以满足我的应用程序的需求并且消耗更少的能量。

不幸的是,按照上述构建并随后检查事件监视器(“能量”选项卡:“需要高性能 GPU”列)显示,我的支持 Metal API 的应用程序仍然使用独立 GPU,尽管请求集成 GPU。

有什么方法可以提示 Metal 系统本身使用集成 GPU 吗?

最佳答案

问题是 Metal API 默认使用独立 GPU。使用以下代码以及上面详述的正确 Info.plist 配置,将导致使用集成 GPU:

    NSArray<id<MTLDevice>> *devices = MTLCopyAllDevices();

gpu_ = nil;

// Low power device is sufficient - try to use it!
for (id<MTLDevice> device in devices) {
if (device.isLowPower) {
gpu_ = device;
break;
}
}

// below: probably not necessary since there is always
// integrated GPU, but doesn't hurt.
if (gpu_ == nil)
gpu_ = MTLCreateSystemDefaultDevice();

如果您使用的是 MTKView,请记住将 gpu_ 传递给其 initWithFrame:device: 方法。

关于macos - 使用Metal API时如何请求使用集成GPU?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41675193/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com