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ом.
Результаты:
- Без утилит: 254 тика, 3 секунды.
- С Mc Phling: 2284 тика, 23 секунды.
- С Mc Phling и Cyrhack: 7318 тиков, 74 секунды
- С двумя нативными хаками (BrokenJog? и Deadhack): 291 тик, 3 секунды
При оповещении 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 и прочих псевдо-хаков может быть существенным. Замедление может сказаться на точности
позиционирования стила, на точности распознавания граффити и на скорости ввода букв через граффити-клавиатуру.