Как проверить, какая видеокарта активна в MacBook Pro?

Существует большая разница и в производительности и в потребляемой мощности между этими двумя видеокартами в MacBook Pro.

Проблема, я часто забываю, какой я выполняю. Это может закончиться с разряженной батареей в то время как на самолете довольно быстро. Насколько я могу сказать, необходимо открыть Energy Saver System Preference для наблюдения, какой активен.

Кто-либо знает об инструменте, который отобразит (в строке меню, на рабочем столе, безотносительно) мое текущее состояние видеокарты? Особенно хороший была бы терминальная команда, которая сообщит, какой был активен. Я мог использовать это в качестве части моей установки GeekTool.

Я также способен к записи моего собственного инструмента, если кто-либо, оказывается, знает, где в API я искал бы эту информацию.

У кого-либо есть какие-либо идеи?

Править: Ответы ниже касающегося system_profiler являются определенно шагом в правильном направлении. MBP показывает информацию для ОБЕИХ видеокарт, независимо от которых активно... НО покажет "дисплей, не подключенный" для дисплея, присоединенного к неактивной карте. Я должен смочь написать сценарий чего-то, что изображает его из там.

EDIT2: ключ получает вывод от system_profier в xml формате (использующий переключатель-xml). Сценарии ниже, чтобы проанализировать получающийся plist и отобразить результат.

14
задан 11.01.2010, 20:44

4 ответа

Используя основную идею, представленную в других двух ответах, я записал следующие сценарии, чтобы определить, используете ли Вы "корректную" видеокарту (Корректный = "на батарее и используете 9400" или "на сетевом адаптере и используете 9600"),

Я понятия не имею, насколько хрупкий эти сценарии..., они полагаются на определенные данные, появляющиеся в особом порядке в system_profile plist..., но этот порядок кажется последовательным на моей машине. Размещение его здесь для любого, кто когда-либо находит это через Google.

Ruby: (требует, чтобы драгоценный камень "Plist" был установлен),

# video_profiler.rb
require 'rubygems'
require 'plist'

# calculate video data
data = `system_profiler SPDisplaysDataType -xml`
structured_video_data = Plist.parse_xml(data)
display_status = structured_video_data[0]["_items"][0]["spdisplays_ndrvs"][0]["spdisplays_status"]

if (display_status.eql?('spdisplays_not_connected')) then 
    card = '9400'
else
    card = '9600'
end

# calculate power source data
data = `system_profiler SPPowerDataType -xml`
structured_power_data = Plist.parse_xml(data)
on_ac_power = (structured_power_data[0]["_items"][3]["sppower_battery_charger_connected"] == 'TRUE')

# output results
if (on_ac_power and card.eql?'9400') or (not on_ac_power and card.eql?'9600'):
    result = 'You\'re on the wrong video card.'
else
    result = "You\'re on the correct video card."
end

puts(result)

Python:

# video_profiler.py
from subprocess import Popen, PIPE
from plistlib import readPlistFromString
from pprint import pprint
sp = Popen(["system_profiler", "SPDisplaysDataType", "-xml"], stdout=PIPE).communicate()[0]
pl = readPlistFromString(sp)
display_status = pl[0]["_items"][0]["spdisplays_ndrvs"][0]["spdisplays_status"]
if (display_status == 'spdisplays_not_connected'): 
    card = '9400'
else:
    card = '9600'

# figure out battery status
sp = Popen(["system_profiler", "SPPowerDataType", "-xml"], stdout=PIPE).communicate()[0]
pl = readPlistFromString(sp)
on_ac_power = (pl[0]["_items"][3]["sppower_battery_charger_connected"] == 'TRUE')


if (on_ac_power and card == '9400') or (not on_ac_power and card == '9600'):
    result = 'You\'re on the wrong video card.'
else:
    result = "You\'re on the correct video card."

pprint(result)
3
ответ дан 07.12.2019, 11:21

Принятие system_profiler только сообщит об активном дисплее (я не около MBP для знания) как насчет того, чтобы включить это в GeekTool:

system_profiler | grep GeForce | sed -e 's/:/ /'

Править:

Если это перечисляет не активный на той же строке как "дисплей, не подключенный" как насчет:

system_profiler | grep GeForce | grep - v "display not connected" | sed -e 's/:/ /'

Если это перечисляет активный сначала как насчет:

system_profiler | grep GeForce | head -n 1 | sed -e 's/:/ /'

Если активный является вторым, затем заменяют голову хвостом.

6
ответ дан 07.12.2019, 11:21

У меня нет одного из новых Профессионалов MacBook здесь, но необходимо смочь видеть активную плату через Системного Профилировщика. В терминале просто используют system_profiler видеть конфигурацию системы:

Terminal Screenshot

1
ответ дан 07.12.2019, 11:21

Я знаю, что этот вопрос довольно стар - но для тех, которые все еще натыкаются на него, могло бы быть хорошо знать, что существует другой выбор также. Для простых решений можно было проверить GFXCheck, который является простым приложением, которое покажет активную видеокарту в

2
ответ дан 07.12.2019, 11:21

Теги

Похожие вопросы