v1k / palabras

0 stars 1 forks source link

Hints are slow #15

Closed EugeneChirikov closed 10 years ago

EugeneChirikov commented 10 years ago

Hints work slow especially when they can not find anything. "Slow" means UI is slow, so 1)maybe we need additional threads to search or 2) maybe we should not search on every single text change when typing is fast. 3) Maybe DB request is poor (we should take only words, not their definitions)

Please think about these 3 assumptions.

EugeneChirikov commented 10 years ago

Я подумал вот как может попробовать. Как только мы начинаем менять текст - создаем отдельный поток для поиска подсказок. Каждый раз когда текст меняется мы увеличиваем некоторую переменную времени на определенную величину (1 секунда например, на самом деле это много - пример грубый). Наш поток для поиска должен спать прежде чем искать именно столько времени сколько накопилось. Таким образом пока текст активно вводится или стирается поиска не должно быть. Но при остановке будет искаться.

v1k commented 10 years ago

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

EugeneChirikov commented 10 years ago

Зафиксирую на чем сошлись в итоге:

[18:19:39] Victor Kalutskiy: а, не, я думал в лисенер его встроить [18:20:00] Victor Kalutskiy: чтобы при печатании на напечатанный символ и реагировать [18:20:30] Victor Kalutskiy: т.е. - начал печатать, если потока нет, создал, если есть, то включил вейтер [18:21:28] Victor Kalutskiy: - напечатал символ быстрее чем закончился вейтер, вейтер обнулился, заново начал, не успел - полетел запрос