Tuesday, November 4, 2008

Попугаи и Виста

Пояснение относительно попугаев: все помнят или не очень помнят мультик в котором проверяли сколько попугаев вмещается в одном удаве. Так вот похоже и в Висте производительность тоже меряется в попугаях (это во вкладке система в панели управления). После обновления версии BIOS на ноутбуке производительность рабочего стола Aero резко скакнула с 2.4 -> 3.0(20%). Что довольно таки необычно, так как в BIOS только инициализирует с минимальными работоспособными настройками видеокарту, и как я понимаю и для стандартных обновлений тайминги не должны резко изменяться. И как следствие в принципе на производительность должны в большей степени влиять обновления драйверов на видеокарту, так как они обновляются чаще и могут перенастроить видеокарту при запуске OC. Но с обновление драйверов производительность не изменялась, а как я думаю эта оценка достаточно нелинейна, чтобы немного подсластить переход на более новые версии аппаратуры(а значит немного более дорогие) - так как очень часто при серьёзной разнице в архитектуре - разница в производительности в некритичные моменты не очень отличается. Или что тоже возможно в биосе была какая-то досадная ошибка, что и приводила к не очень эффективной работе.

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

Ещё одно решение заключается в том что архитектура у моего ноута выглядит довольно неэффективно: видеокарта не имеет памяти на борту и берет её откусывая от системной . Поэтому так как в Висте(в отличии от XP) и Линуксе драйвера в теории уже могут сами перенастраивать распределение памяти для видеокарты, то я поставил минимально доступный объем в 32 метра(по умолчанию ставиться 256), чтобы операционная система сама могла решать сколько памяти нужно и столько при потребности откусить. Но мне кажется память на видокарте хотя бы в виде кеша все таки есть - то без неё получается ZX-Specrum - где памяти под видео отдельно как таковой не было и с синхроимпульсом останавливался процессор и из памяти бралась значение цвета для точки. Что не особо положительно влияло на производительность, но зато дёшево. При этом в отличие от выше указанной архитектуры довольно популярной для интегрированных видеокарт, тут есть маленькая особенность: у всех процессоров с интегрированным контроллером памяти в процессоре получается, что для того чтобы получить доступ к памяти, нужно попросить у процессора её переслать, так как непосредственно доступ к памяти получить не удастся, как это было при работе через северный мост.

В общем архитектура UMA во всех своей красе. Зато хорошо подходит для маркетинга - так как через PCIE можно получать доступ к памяти, можно сказать, что у видокарты нет непосредственных ограничений на объем памяти. В AGP, как я помню, можно было получить не более 256 метров и только под текструры. На аппаратном уровне я думаю это решалось достаточно просто скрывая при работе от процессора некоторый объем памяти и на все запросы от интегрированной видеокарты давать доступ к этому участку. Во общем все хорошо - но гонять данные при выводе картинки через процессор звучит не очень хорошо, поэтому думаю что есть все таки маленький кеш в котором и кешируються данные под вывод(framebuffer). В версиях описания архитектуры к более поздним моделям(общей архитектуры системы, а не видиокарты) там было под эти нужды 512Мбит. И этого объема вполне хватит на отрисовку и хранение. Более точных данных я не нашёл.

И как следствии возможно, что исправление работы с памятью не повлияло на тест памяти в Висте, но позволило быстрее получать доступ видеокарте к нужным участкам памяти. Но думаю все таки, при изменение алгоритма работы с памятью, результат теста должен был измениться и для остальных тестов, а не только для производительности Аеро.

No comments: