Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   Унылого треша тред (https://javascript.ru/forum/offtopic/47728-unylogo-tresha-tred.html)

nerv_ 04.06.2014 21:49

Цитата:

Сообщение от kobezzza
Не, лучше setTimeout, т.к. он даёт время браузеру на рендеринг CSS и т.д.

а как насчет requestAnimationFrame?)

Цитата:

Сообщение от kobezzza
Я говорю про SPA (одностраничный сайт проще говоря), там браузер ничего не делает.

я понял про то ты говоришь. Хочешь сказать css на одностраничных сайтах не работает?)
Ты говоришь про сложные и высоконагруженные SPA. Далеко не все SPA такие.

Зачем делать бесконечный скролл, если можно сделать старую добрую пагинацию? (очередной холивар :)

Maxmaxmaximus1001 04.06.2014 21:51

Цитата:

Сообщение от kobezzza
setTimeout в руки и поехали

Не не не не не)) у меня все это моментально делается, менее 5мс.

Но я буду думать в сторону того чтобы делать типа спящий режим, когда обработчтки не активны, а состояние сохраняется. Хотя я думаю проще удалять и заного инициализировать. А если человек уже хочет, то он будет состояние где то сохранять.

kobezzza 04.06.2014 21:52

Цитата:

а как насчет requestAnimationFrame?)
Кстати, а я и не подумал его тут заюзать, попробуемс :) Хотя не думаю, что там оно сильно поможет, т.к. и с setTimeout всё хорошо работает.

Цитата:

я понял про то ты говоришь. Хочешь сказать css на одностраничных сайтах не работает?)
Имеется ввиду, что мы грохнули старый DOM, а новый у нас же идёт с генераций по шаблону на клиенте, и изначально там стоит какой-то:

<super-button></super-button>


Который хз какую имеет геометрию, т.к. шаблон ещё не отработал и соответственно никакого CSS тоже нет.

Maxmaxmaximus1001 04.06.2014 21:52

Цитата:

Сообщение от nerv_
он даёт время браузеру на рендеринг CSS

Браузеру на реднеринг дает обращение к

document.documentElement.offsetTop

это заставляет его перерендерить с учетом стилей.

а цикле переваривания можно рендерить в любой момент весь дом или определенные его куски) может кому пригодится, ui так делает

kobezzza 04.06.2014 21:53

Цитата:

document.documentElement.offsetTop
Пробывал, но это также вызывает "фризы". Задача не рендерить как можно быстрее, а рендерить без "фризов", как это делает сам браузер.

Maxmaxmaximus1001 04.06.2014 21:55

Цитата:

Сообщение от kobezzza
также хорошо иметь АПИ для "прогретого" потока, т.е. иметь пул Worker-ов), только вот это всё должно делать на уровне фреймворка

идея годная, если я передам какой-то дом элемент в воркер, то он там сможет с ним манипуляции производить чтобы я его потом спокойно вставил в родной dom?

kobezzza 04.06.2014 21:56

Цитата:

Сообщение от Maxmaxmaximus1001 (Сообщение 314855)
идея годная, если я передам какой-то дом элемент в воркер, то он там сможет с ним манипуляции производить чтобы я его потом спокойно вставил в родной dom?

Если реализуешь абстрактный протокол общения, то да.

Maxmaxmaximus1001 04.06.2014 21:56

Цитата:

Сообщение от kobezzza
Как определять что чистить и рисовать первым? Ответ: то, что на экране (т.е. если скролл скрол на середине экрана, то идиотизм начинать сверху страницы). Как узнать что на экране, если ещё никакого CSS нет? Ответ: запоминать примерную геометрию всех блоков, кешировать в локальном хранилище и учитывать при последующих загрузках.

ну хрен знат, у меня такое понятие что если все рисуется более чем за 50 миллисекунд - то это уже проблема архитектуры. и не нужно извращяться.

Maxmaxmaximus1001 04.06.2014 21:58

Цитата:

Сообщение от kobezzza
По поводу поддержки браузеров: не будь глупцом, через пол года макс уже выйдет ИЕ12, а при условии что ты честно будешь писать либу, то до её использования пройдёт пол года минимум, так что забивай на все ИЕ кроме 11, ибо всё равно сегмент задач на которые претендует твоя либа таков, что он если и заработает в дрених браузерах, то будет нереально тормозить из-за дурацких полифилов. Юзай сеттеры, геттеры, новые структуры данных и не заморачивайся в общем.

ОО ДА!! СПАСИБО!!! правда полегчало)!! 10 и 11 оставляю, остальным заглушку (которую юзер ui сам запилит наверное)

Цитата:

Сообщение от nerv_
что вы говорите)

Да, если в коде директивы ты навешаешь интервалов, а потом прорепитешь директиву, то после удаления нескольких директив, их интервалы будут продолжать роаботать. Более того, у сервисов ангуляра нет доступа к скоупу. А у меня есть. Несмотря на то что сервисы синглтоны, а скоупов много. При вызове функций из сервиса, у него в его this.$scope кдажется актуальный скоуп, на деструктуризацию которого мы можем подписаться, повесить обработчик, и обновлять только этот скоуп. и.т.п. в ангуляре же тупо обновляется $rootScope.

Цитата:

Сообщение от kobezzza
А подход влоб: т.е. грохнули всю старую структуру и рисуем новую вызывает ужасные фризы.

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

Цитата:

Сообщение от kobezzza
Имеется ввиду, что мы грохнули старый DOM, а новый у нас же идёт с генераций по шаблону на клиенте, и изначально там стоит какой-то:

<super-button></super-button>


Который хз какую имеет геометрию, т.к. шаблон ещё не отработал и соответственно никакого CSS тоже нет.


у меня это все, как и в ангуляре кстати, делается только один раз при инициализации сайта, потом оно все работает молнеиносно)) так как шаблоны уже все просчитаны директивы определены, осталось только link функцию каждой вызовать и все)

kobezzza 04.06.2014 22:08

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


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