скоростной лохотрон КРИС КАСПЕРСКИ АКА МЫЩЪХ Спецвыпуск: Хакер, номер #063, стр. 063-028-5 Нас могут легко надурить! Часто разгон осуществляется путем отключения некоторых «тяжеловесных» эффектов, снижением детализации и т.д. Очень сложно увидеть разницу изображений «до» и «после», если сравниваешь их по памяти. Откуда у простых пользователей стоящие рядом два компьютера — непременный атрибут всякого серьезного тестера? Значение fps само по себе еще ни о чем не говорит, в то время как на него обращают внимание прежде всего. «нельзя все гнать» Почему разгон становится возможным? Потому что производители оборудования оставляют некоторый запас «прочности», занижая реальные показатели. Зачем им нужно заниматься этим? При любом «поточном» производстве в характеристиках элементов возникает некоторый разброс, а протестировать каждый экземпляр нереально. Вместо всей партии через «тестовый полигон» проходит только малая часть, и на маркировку наносится наихудший результат. Надпись на процессоре «1 ГГц» не означает, что в данной партии нет процессоров, «падающих» уже на 1 ГГц, или что их долей можно пренебречь. 1 ГГц — это наименьшая частота, которая гарантирована нам. А наибольшая? Никто не знает. Чем качественнее партия, тем меньше разброс и тем меньше вероятность разогнать процессор. В общем случае чем выше тактовая частота, тем меньше вероятность успешного разгона. Допустим, компания выпускает процессоры на 1, 2, 3 и 4 ГГц. Если технологический цикл един, то 1 ГГц-процессоры — это некачественные 4 ГГц. Перебирая 1 ГГц-процессоры один за другим, мы получаем неплохие шансы встретить качественный экземпляр, работающий на 4 ГГц или даже на более высокой тактовой частоте. Однако дела обстоят так только в теории, на практике сложнее. Во-первых, технологический цикл давно отлажен, производство вылизано и параметрический разброс сократился до десятков процентов, а вместе с ним сократился и навар. Во-вторых, в магазинах сидят тоже не дураки: отбирают лучшие процессоры и вставляют их в продаваемые ПК. Впрочем, на одной тактовой частоте далеко не уедешь: основной прирост производительности дает архитектура, объем кеша и т.д. Какой смысл гнать кристалл, когда большинство задач загружают ЦП лишь на несколько процентов? И даже если задача загружает ЦП на все 100%, вовсе не факт, что переход на более быстрый процессор хоть немного снизит эту загрузку: 100% загрузка — характерный признак грубых программистских ошибок. Взять, например, хотя бы стандартный Pinball, входящий в штатную поставку Windows и пожирающий процессорное время как бармаглот. Причиной его неумеренного аппетита стал мелкий баг: ранние версии Pinball'а обновляли экран так часто, как у них получалось. Процессоры в те времена были медленными, в народе крутился девиз «fps много не бывает», особенно если весь вывод идет через тормозной GDI. Разработчики предусмотрели отладочную опцию, выводящую количество fps, зарезервировав место для двух разрядов, которых, как им казалось, будет предостаточно. Раймонд Чен (один из главных «мозгов» Microsoft) ради интереса посмотрел, сколько fps выдает его Pentium-4 и с удивлением обнаружил, что экран обновляется более миллиона раз в секунду. Фантастика! Увеличение тактовой частоты увеличивало количество fps, но не снижало нагрузки на процессор. Во всяком случае, до тех пор, пока Раймон не ограничил его максимальное значение числом 120, после чего загрузка ЦП упала со 100% до 1% и Windows XP вышла уже с исправленной версией Pinball'а. Подробнее об этом можно прочитать на blogs.msdn.com/oldnewthing/archive/2005/12/01/498882.aspx. |