Существует большая разница и в производительности и в потребляемой мощности между этими двумя видеокартами в MacBook Pro.
Проблема, я часто забываю, какой я выполняю. Это может закончиться с разряженной батареей в то время как на самолете довольно быстро. Насколько я могу сказать, необходимо открыть Energy Saver System Preference для наблюдения, какой активен.
Кто-либо знает об инструменте, который отобразит (в строке меню, на рабочем столе, безотносительно) мое текущее состояние видеокарты? Особенно хороший была бы терминальная команда, которая сообщит, какой был активен. Я мог использовать это в качестве части моей установки GeekTool.
Я также способен к записи моего собственного инструмента, если кто-либо, оказывается, знает, где в API я искал бы эту информацию.
У кого-либо есть какие-либо идеи?
Править: Ответы ниже касающегося system_profiler являются определенно шагом в правильном направлении. MBP показывает информацию для ОБЕИХ видеокарт, независимо от которых активно... НО покажет "дисплей, не подключенный" для дисплея, присоединенного к неактивной карте. Я должен смочь написать сценарий чего-то, что изображает его из там.
EDIT2: ключ получает вывод от system_profier в xml формате (использующий переключатель-xml). Сценарии ниже, чтобы проанализировать получающийся plist и отобразить результат.
Используя основную идею, представленную в других двух ответах, я записал следующие сценарии, чтобы определить, используете ли Вы "корректную" видеокарту (Корректный = "на батарее и используете 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)
Принятие 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/:/ /'
Если активный является вторым, затем заменяют голову хвостом.
Я знаю, что этот вопрос довольно стар - но для тех, которые все еще натыкаются на него, могло бы быть хорошо знать, что существует другой выбор также. Для простых решений можно было проверить GFXCheck, который является простым приложением, которое покажет активную видеокарту в