Ragtime_Kitty, сколько пикселей на мобилке, а сколько в браузере, затраты ресурсов различаются в разы. При том что ты вешаешь блюр. Делай на шейдерах тогда. И да, заблюрить можно только часть картинки. Для этого тебе нужно будет сделать маску, получаешь imagedata, и блюришь нужную зону, потом рисуешь на канвасе.
Ragtime_Kitty, заметно стало когда развернул на 4к полный экран, как и говорил дело в производительности конкретного пк. В лисе все аналогично как и в хроме. Еще можешь рисовать вторую картинку посреди первого канваса. А если хочешь производительность, делай на шейдерах. Но раз у тебя видео наложено одно на другое, то зачем тебе второе, рисуй просто свою рамку посередине.
Ragtime_Kitty, ну либо совсем древнее железо, либо ты что-то не так делаешь, либо ты неправильно спозиционировал элементы или неправильно позиционируешь рисуемую картинку. Потому что у меня тут нет никакой рассинхронизации и тд, все рисуется четко. https://jsfiddle.net/profesor08/ec6gszr8/
ligisayan, почему не решает? Запрети форме отправлять данные прервав событие. Но ты всегда можешь упереться и продолжать мучаться, пока не сделаешь так как я написал, ну либо не избавишься от формы и напишешь велосипед сериализации данных.
Ragtime_Kitty, потому что рисовать надо в одном requestAnimationFrame на обоих canvas, и видео убрать с глаз долой, чтоб не смотреть на него. Так как на канвасе отрисовывается кадр уже после того как он появился на видео.
ligisayan, Тем, что сколько бы ты не кликал кнопки, событие отправки формы будет перехвачено. У тебя же ты вешаешь событие на кнопку, а потому другую кнопку кликаешь, фома спокойно отправляется и ты получаешь перезагрузку страницы.
УЖС. Для фреймворков есть свои vue create/ create-react-app и тд. Для чего-то другого есть например yeoman. Но обычно минимального конфига вэбпака хватает.
lukoie, потому что никто не угадает что тебе нравится, как тебе нравится, почему тебе так нравится, и тд. Либо тебя устраивает то, что есть, либо пилишь сам.
Хочешь легко и дешево, оставь свой первый вариант. Хочешь чтоб получилось как надо, делай как я описал, но придется приложить усилия. Что-то придумывать и коверкать не надо.
Вот это в requestAnimationFrame обрабатывай и никаких setTimeout/setInterval.
makarychev13, я писал на многих языках с типизацией и без. И в языках с явной типизацией, обработать json это большая попаболь. А основной формат передачи данных между разными вещами это json. Да, это попытались забороть тонной интерфейсов и парсингом в соответствии с ними, но это по прежнему боль, так как эти интерфейсы надо ручками писать.
alex-1917,
Во первых, размер кук ограничен, и хранить все там не сможешь. Во вторых localStorage не доступен в safari в инкогнито, значит надо как-то это обрабатывать.