Как не торомозить интерфейс
JS вообще тормозит интерфейс?
Я хочу после набора каждого слова анализировать его, не будет ли анализ тормозить отображение печатаемого далее? Если будет – есть ли варианты чтобы не тормозил?(как-то на фоне может анализировать можно) |
romm, смотря как анализировать.
|
какая разница как если это занимает время.. я хочу чтоб в это время печатание не тормозилось (отображалось по нажатию).
|
Такая, что чем сложней и корявей анализ, тем больше на него уйдет времени. Что конкретно ты там делать собираешься?
|
Не, можно-то и в отдельном потоке пускать, но вообще-то даже сложный парсинг при нормальном исполнении должен укладываться в миллисекунды.
|
1.какая разница сколько уйдёт времени если речь о том чтоб это время не тормозило интерфейс? оффтопите.
2.вообще-то при печатании и миллисекундные задержки заметны. как пускать в отдельном потоке? |
romm,
он не оффтопит, ты просто не понял. Чем дольше твой код будет анализировать данные, тем дольше интерфейс будет тормозить. Что касается отдельного потока, читай про WebWorker'ы. |
оффтопит, т.к., повторяюсь, речь о том чтоб это время вообще не тормозило интерфейс. а про его кол-во тут к чему? ни к чему.
ладно, буду читать. |
Вам шашечки или ехать?
Если нужен анализ на лету привязанный к печати - то в любом случае он будет тормозить последующий ввод, каким бы образом ни запускался, т.к. следующий символ физически не может быть введён до завершения анализа. Если же жёсткая привязка к печати не нужна, то при выполнении в webworker'е или хорошем разбиении кода на части - задержки не интерфейса не будет. Однако в определённом случае человек может написать уже предложение, а анализироваться будет ещё только первое слово. В зависимости от задач и выбирайте реализацию. |
в "интерфейсе" (исполнение в котором всё тормозит) можно исполнять только отправку последнего символа в память, а фоновый скрипт уже должен будет думать над всем, в том числе о том когда заканчивается слово, какое оно и что потом делать.
Цитата:
|
romm, тогда ответ уже был выше - webworker.
|
Часовой пояс GMT +3, время: 22:25. |