Тёмный

Самый низкий уровень: пишем на WebGL и WebAssembly без фреймворков и транскомпиляторов/ А.Хлыновский 

Frontend Channel
Подписаться 13 тыс.
Просмотров 14 тыс.
50% 1

Приглашаем на FrontendConf 2024, которая пройдет 30 сентября и 1 октября 2024 в Москве.
Программа, подробности и билеты по ссылке: frontendconf.r...
________
РИТ++ 2019
FrontendConf
Тезисы и презентация:
frontendconf.ru...
Говоря о WebGL, часто имеют в виду three.js или другие похожие фреймворки. Новичок на поле веб-технологий WebAssembly уже начинает ассоциироваться с языками C или Rust. А как же, ведь нужные утилиты и обёртки WebGL и WebAssembly сложны и непонятны. Или же нет?
...
--------
Нашли ошибку в видео? Пишите нам на support@ontico.ru

Опубликовано:

 

28 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 27   
@ПётрПетров-д2ч4х
@ПётрПетров-д2ч4х 3 года назад
И слушать интересно, и человек приятный. Это следствие того, что это настоящий специалист и нет ему резона выпендриваться.
@СЭДМИ
@СЭДМИ 4 года назад
все видео: 🙏
@mgevlich
@mgevlich 4 года назад
Вот зачем нужен webassembly если он всеголишь в 1.5 раза быстрее и только лишь потому что работает на числах с меньшей точностью?! Не понятно.
@ammonjerro396
@ammonjerro396 4 года назад
и правда, какие-то жалкие 50%, кому они нужны.
@mgevlich
@mgevlich 4 года назад
@@ammonjerro396 и правда, какие то жалкие 32 бита. Кому они нужны.
@angelicoctahedron3646
@angelicoctahedron3646 3 года назад
@@mgevlich а чего вдруг 64-битные будут складываться медленее? И там и там по итогу вроде как одна машинная операция.
@mgevlich
@mgevlich 3 года назад
@@angelicoctahedron3646 в вебасембли завезли 64 разрядную точность?
@kostya_super
@kostya_super Год назад
А зачем нам большая точность, если от этого пикселей на экране не станет больше?
@-THE-MASTER-
@-THE-MASTER- 4 года назад
Доклад для домохозяек... Неужели эти люди в зале считают себя программистами, если им нужно разжёвывать что такое выравнивание, смещение во линейном буфере и пр... Думаю, что ASM/C/C++/GLSL/HLSL/SPIR-V программисты с каждым годом будут стоить всё дороже и дороже :-)
@JohnDoe-lw7yb
@JohnDoe-lw7yb 4 года назад
Ну, не думаю. Это ведь доклад не для матёрых сишников, а фронтэндеров, которых до выравнивания не пускают :) Я запариваюсь с тем, чтобы компилятор мой цикл развернул в автовекторизацию, но узнать как там у них мне было интересно. А священная -война- срач что [language] недостоин звание true - это дерьмо. Если в своей нише тот же php выполняет свою задачу - он хорош, тупо требовать от него выравнивание с ручной работой с памятью. P. S. Ненавижу PHP ;)
@RafaelShepard
@RafaelShepard 4 года назад
Это доклад для фронтендеров. Что за прикол у таких как ты постоянно в комментах такие штуки писать? (для конкретики:"ХА, доклад для домохозяек! И вы называете себя программистами! ХА! ") Вам не хватает внимания\признания\или еще чего ? Мне любопытно что ты ответишь, что бы я раз и навсегда перестал себя спрашивать: "Если ты занимаешься другими вещами, то зачем ты заходишь сюда и выебываешся?)". Развейте свою иллюзию, что вы занимаетесь супер сложными вещами, недосягаемыми другими, смертными, ведь при желании, любой из сидящих в зале может научиться всему, чему пожелает. В этом и есть смысл таких докладов - развитие. И складывается впечатление, что вам действительно не хватает чего-то, раз вы лезете сюда. *вы, в моем сообщении - вся тусовка таких умников как ты.
@-THE-MASTER-
@-THE-MASTER- 4 года назад
@@RafaelShepard , ой...да брось, причём тут выёбываться, детский сад какой-то, мы ж не политики, что бы заниматься пустозвонством... Я сюда зашёл только потому, что мне по работе нужно было накидать один модуль для видео стрима через сеть, в котором я думал сделать gui (hud) на чистом WebGL (возможно через imgui), а сам стрим на кодеке h.264/hevc с ручным кодированием фреймов, по этому мне нужно было разобраться, что сейчас на острие копья технологий для web-а, краем уха услышал, что сейчас модно webassembly, стал копать информацию и к сожалению она оказалась на столько разрозненна и для откровенных нубов, что я долго по крупицам собирал то, что хотел узнать, т.к. в каждой статье или видеоролике автор всё время городил тонну какой-то общеизвестной чуши, которую по идее должен знать любой программист по дефолту, то есть тонны галимой "информации" для откровенных домохозяек и минимум конкретики по теме, по этому это и вызвало моё негодование ))) Да забей, я уже давно этот вопрос закрыл, тупо собираешь всё через emscripten и траблов ноль, кстати это можно было сказать одной фразой и ролик бы длился 2 секунды )) P.S.: забей на всё, лучше мой старый ролик с процедурной геометрией посмотри :-) ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-TWAc9mbNHGc.html
@ollegat
@ollegat 4 года назад
Обычный напыщенный сноб, но это его личная половая драма. Докладчик же просто огонь, учитель от бога 8)
@tozpeak
@tozpeak 3 года назад
@@-THE-MASTER- А зачем делать gui на чистом WebGL? Разве не оптимальнее использовать для интерфейса html, который вроде как должен без обёрток рендерится браузером?
@iarde3422
@iarde3422 2 месяца назад
"На regexе" - если бы это было "на regexе", то кода было бы в 10 раз меньше. Да, вообще,в 2 строчки можно было бы всё написать, думаю.
@angelicoctahedron3646
@angelicoctahedron3646 3 года назад
Еще конечно можно было-бы при помощи тех-же шейдеров рассчет позиций переписать. Выиграли бы сразу на двух вещах: - распараллеливается не только отрисовка, но и рассчет. - нет обмена данными на каждый кадр между CPU и GPU. Вопрос только в том, а есть ли в WebGL компьютерные шейдеры...
@dmitryrukavishnikov6711
@dmitryrukavishnikov6711 2 года назад
Такое вполне возможно, и это действительно должно ускорить отрисовку за счет устранения необходимости передавать данные на видеокарту. Все что понадобиться - передать начальные координаты, начальные скорости и время. Координаты и скорости передаются через атрибуты (данные, которые уникальны для каждого экземпляра шейдера). А время нужно будет передавать не через атрибуты а через интерфейс uniform. Uniform - способ передачи данных, которые одинаковы для каждого шейдера.
@Satabol
@Satabol 4 года назад
Спасибо, просто интересно было слушать.
@nikolaisemko5841
@nikolaisemko5841 2 года назад
Что-то я не догнал. пример на JS в этом видео работает в раз 10-15 медленнее. Почему в 1,5 раза? Может докладчик ошибся. В 1,5 раза в сравнении с WebGL, а не с JS?
@СЭДМИ
@СЭДМИ 4 года назад
все видео: 🙏
@xenonist4502
@xenonist4502 4 года назад
Подскажите, пожалуйста, что ещё за resizeArray в коде? На 9 строчке в файле физики
@bitbarracuda
@bitbarracuda Год назад
Не узнали что это?
@xenonist4502
@xenonist4502 Год назад
@@bitbarracuda не, я даже уже не помню что за видео :):
@bitbarracuda
@bitbarracuda Год назад
@@xenonist4502 ну если вдруг нужно, это просто ресайз для типизированного массива. Примерно так: const resizeArray = (arr, len) => { if (arr.length === len) return arr const resizedArrayBuffer = new ArrayBuffer(len), resizedView = new Float32Array(resizedArrayBuffer) for (let i = 0; i < arr.length; i++) { resizedView[i] = arr[i]; } return resizedView; }
@torcher5023
@torcher5023 Год назад
А представляете, если бы мы жили в мире, где для так называемых программистов написать простенький шейдер или функцию на СИ не являлось бы "самым низким уровнем"
Далее
Watermelon magic box! #shorts by Leisi Crazy
00:20
Просмотров 14 млн
Андрей Роенко - WebAssembly без купюр
1:00:47
WebAssembly for Web Developers (Google I/O ’19)
39:56