Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как не торомозить интерфейс (https://javascript.ru/forum/misc/52688-kak-ne-toromozit-interfejjs.html)

romm 01.01.2015 16:01

Как не торомозить интерфейс
 
JS вообще тормозит интерфейс?
Я хочу после набора каждого слова анализировать его, не будет ли анализ тормозить отображение печатаемого далее?
Если будет – есть ли варианты чтобы не тормозил?(как-то на фоне может анализировать можно)

ruslan_mart 01.01.2015 16:32

romm, смотря как анализировать.

romm 01.01.2015 17:04

какая разница как если это занимает время.. я хочу чтоб в это время печатание не тормозилось (отображалось по нажатию).

Erolast 01.01.2015 17:25

Такая, что чем сложней и корявей анализ, тем больше на него уйдет времени. Что конкретно ты там делать собираешься?

Erolast 01.01.2015 19:24

Не, можно-то и в отдельном потоке пускать, но вообще-то даже сложный парсинг при нормальном исполнении должен укладываться в миллисекунды.

romm 01.01.2015 20:37

1.какая разница сколько уйдёт времени если речь о том чтоб это время не тормозило интерфейс? оффтопите.
2.вообще-то при печатании и миллисекундные задержки заметны.
как пускать в отдельном потоке?

Safort 01.01.2015 20:47

romm,
он не оффтопит, ты просто не понял. Чем дольше твой код будет анализировать данные, тем дольше интерфейс будет тормозить.

Что касается отдельного потока, читай про WebWorker'ы.

romm 01.01.2015 20:57

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

Aetae 01.01.2015 22:01

Вам шашечки или ехать?
Если нужен анализ на лету привязанный к печати - то в любом случае он будет тормозить последующий ввод, каким бы образом ни запускался, т.к. следующий символ физически не может быть введён до завершения анализа.
Если же жёсткая привязка к печати не нужна, то при выполнении в webworker'е или хорошем разбиении кода на части - задержки не интерфейса не будет. Однако в определённом случае человек может написать уже предложение, а анализироваться будет ещё только первое слово.

В зависимости от задач и выбирайте реализацию.

romm 01.01.2015 22:39

в "интерфейсе" (исполнение в котором всё тормозит) можно исполнять только отправку последнего символа в память, а фоновый скрипт уже должен будет думать над всем, в том числе о том когда заканчивается слово, какое оно и что потом делать.
Цитата:

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

Aetae 02.01.2015 06:17

romm, тогда ответ уже был выше - webworker.


Часовой пояс GMT +3, время: 22:25.