OpenWiki

Hack Slowdown OS5

Edit this page (last edited April 21, 2004)
Palm Notes | Recent Changes | Title Index | User Preferences | Random Page | Help
Как известно, под пятой осью обычные хаки не работают. вместо этого пальмсорс предложил использовать механизм нотификаций. именно с его помощью тилмастер эмулирует работу хаков.

В старых пальмосах существовал эффект замедления работы системы от хаков, которые вешаются на сисколл EvtGetEvent?. (см Hack Slowdown ).

В пятой оси на EvtGetEvent? повешено оповещение всех подписчиков о нотификации sysNotifyEventDequeuedEvent?. В подписчики можно записать практически все программы, у которых интерфейс состоит из больших кнопок enable/disable кучи опций. Интересно было, насколько подобные утилиты тормозят систему.

Я написал программку, которая 10000 раз запихивает в очередь символ и сразу же извлекает его. Соответственно 10000 будет происходить оповещение об извлечениии события из очереди.

Измерения производились на nx60. Время замерялось в секундах и тиках. Тик - примерно 1/10 секунды (с точностью до неких особенностей). Наличие подписчиков нотификаций определялось alarmlistом.

Результаты:

При оповещении Mc Phling вызывается процедура, при оповещении Cyrhack вызывается программа.

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

Замер времени расхода батареи по Battery Bench 2. Brightness 20%, Full power.

Мораль: машинка может легко замедлиться в 30 раз. Это несущественно сказывается на времени ее жизни. Такое замедление не будет заметно в PIM приложениях, но будет ощущаться в игрушках и при работе с клавиатурой. Так что будьте внимательны, любители резидентных утилит.

Добавление: мини-доклад с пилотовки 20.04.04
С помощью программы Palm Internals (бывший AlarmList) можно измерить замедление реакции КПК, вносимое разными программами. 
Тестирование заключается в измерении времени обработки 10000 системных событий. Время измеряется в секундах и тиках (1/100 секунды)

http://yahm.palmoid.com/PalmInternals.prc

Полученные данные по замедлению, которое вносят русификаторы. Измерялось на моей NX-60.

КПК без русского:  254 тик,  3 сек.
Кирхак 1.10пре:   5694 тик, 58 сек
Пилок 3.5:              276 тик,  3 сек
Папирус 1.10:        7894 тик,79 сек

С одной стороны 10000 событий - это очень много, в то же время добавление к русификатору программ McPhling, 
KeyQuick OKey и прочих псевдо-хаков может быть существенным. Замедление может сказаться на точности 
позиционирования стила, на точности распознавания граффити и на скорости ввода букв через граффити-клавиатуру.

Palm Notes | Recent Changes | Title Index | User Preferences | Random Page | Help
Edit this page | View other revisions
Print this page | View XML
Find page by browsing, searching or an index
Edited April 21, 2004 (diff)
Valid XHTML 1.0!Valid CSS!