[amirus] Re: AmiRUS

  • From: AmiS <amis@xxxxxxxxxxxx>
  • To: amirus@xxxxxxxxxxxxx
  • Date: Tue, 07 Jan 2003 22:48:41 +0300

Hi!

On 07/01/03, Vovka wrote:

> Кстати, об inputhandler... он ведь весь поток хватает и только на RAWKEY 
> сигналит...
> но ведь InputHandler() исполняется каждый раз , как юзер что-то сделает. 
> многовато.
> и при любой клавише просыпается основная задача. значит проверять придется 
> сразу...
> хотя filter отлавливает не все комбинации и вообще одну клавишу трудно ему 
> обьяснить.

Так работает система. А ты думаешь что комодитя не проверяет каждый евент? :)
Так что ничего не многовато.  Единственное требование так это чтобы евент был 
очень
быстрым.  для нашей задачи он быстрый.
Мы будем передавать в структуре данных евенту комбинацию клавишь которую он 
должен будет
отлавить (точнее будем передавать ему маску поля Qualifier и маску кода клавиши 
Code он
будет делать простенькое сравнение пришедшего евента по данным маскам и в случае
совпадения давать сигнал основному потоку. 
Для этого простенького сравнения достаточно написать простейший код на С а 
посылка сигнала
вообще быстрее работает чем посылка сообщения.
Даже к асму прибегать не нужно будет.  А если нужно можно и на асме сделать но 
я уверяю
тебя что не нужно будет я писал евент для енота и исследовал этот вопрос 
немного.
Так что просыпаться основной процесс будет только по нажатии комбинации. Всё 
остальное
время он будет спать. Ну изменение конфига тоже должно его разбудить и вот тут 
уже нам
поможет комодити. или рекс порт. 

> так что получается, что через commodity нагрузка на систему меньше, но 
> страдает
> гибкость.

нагрузка не меньше. Она такая-же а может и больше.  Комодити по сути использует 
такой же
механихм как и мы. Там тоже есть евент один на все комодити который сравнивает 
каждый
евент с комбинацией и в случае совпадения посылает что-то приложению.  Если он 
посылает
сразу мсг то этот вариант даже медленней. Если он посылает в свои недры сигнал 
а там уж
формируется мсг то скорость так же как и у нас.  Ну примерно :)

Кстати, почитай вниматьельно доки где то я видел что комодити рекомендуют 
исключительно
доя popup кейсов и не более типа что оно нагружает систему.

Regards


Other related posts: