Вчера отыскал забавную программу под названием SpeedBalls от InqSoft, предназначенную для ускорения работы приложения, чье окно в настоящий момент активно. Идея проста, но в то же время красива. Программа отслеживает, какое приложение владеет активным окном, и повышает его приоритет до HIGH (высокий) или REALTIME (реального времени). При этом, как говорит автор, это
самое приложение должно вроде бы работать быстрее за счет отбирания процессорного времени у "неактивных" задач. Возможно, для непрограммиста это звучит диковато, но подход этот вполне легальный и не относится к "подкручиванию" операционной системы всякими твикерами, после чего приходится все сносить и переустанавливать заново. Мне это показалось как-то неправдоподобно, и я начал проводить тесты, устанавливая
для начала приоритет HIGH. Сначала я пытался замерять время выполнения сложных преобразований в Paint.NET. Применение эффекта "Frosted Glass" при выключенном SpeedBalls занимает 10 секунд, при включенном - 9 секунд. Как-то слабенько, подумалось мне. Потом додумался привлечь WinRAR. Распаковка 100-мегабайтного архива при выключенном SpeedBalls - 14 секунд, при включенном - 6 секунд. Ого, вот это уже существенно!
А потом я совершил большую ошибку - решил провести те же тесты с приоритетом REALTIME. Запомните: никогда, никогда не устанавливайте приоритет REALTIME никакому приложению! Windows - не операционная система реального времени, и любой активное окно постоянно что-то делает. Например, любое движение мыши вызывает отправку соответствующего сообщения окну. В результате приложение, получившее приоритет REALTIME, практически полностью вешает систему. Выводя Paint.NET из ступора в течение 5 минут, я решил дальнейшие
эксперименты не проводить. Еще раз повторю - забудьте про REALTIME!
Интерфейс программы весьма прост - два языка, минимум настроек, возможность запуска вместе с системой и сворачивание в трей. Активация и отключение изменения приоритета выполняется по выбранной комбинации клавиш, по умолчанию Win+Backspace.
Такая программа может быть полезной при выполнении каких-то дорогостоящих операций вроде архивирования, кодирования видео или (быть может) в играх. В остальных случаях увеличения производительности будет немного, зато все приложения, кроме активного, будут работать медленнее.
Программистам, быть может, будет интересно, что программа написана целиком на ассемблере, и поставляется вместе с исходниками.