LINUX.ORG.RU

Прототип WebCL для Firefox

 , , ,


0

2

WebCL предоставляет доступ к OpenCL из JavaScript, что позволит использовать GPU и многоядерные процессоры при создании Веб-приложений.
Основными сферами использования озвучиваются обработка фото и видео, визуализация и симуляция.

3 марта 2011. Khronos group начало формирования рабочей группы по WebCL.
4 мая 2011. Nokia Research выпустила прототип WebCL в виде плагина для Firefox.
18 мая 2011. Опубликован текущий билд «WebCL 1.0.1-r12». Он намного более стабильный чем первая версия.

Характеристики:

  • Лицензия: LGPL
  • Билды пока только под x86_32
  • Лично проверялось лишь на стабильном Firefox 4. На Nightly может не работать.
  • Нужны драйверы с поддержкой OpenCL

Примеры использования:

Решил опубликовать новость почитав новые споры относительно bitcoin.
На примере «добытчика BTC» можно увидеть, что технология имеет хорошую производительность, у меня это честные 16-17 Mhash/s.

C моей точки зрения это важнейшая технология для появления качественных игр в браузере.
Сейчас обсчитывать физику с javascript можно только на CPU, и даже скромное 2d работает не очень хорошо.
WebCL в свою очередь позволяет использовать настоящий, сложный физический движок.


Процесс установки:

  • Установить и запустить Firefox 4
  • Установить плагин Nokia WebCL (x86_32 only)
  • Нажать сюда, и проверить работоспособность WebGL.
  • Протестировать Kernel Toy

По ссылкам все равно придется. :)

>>> Официальный сайт

★★★

Проверено: JB ()
Последнее исправление: Zhbert (всего исправлений: 8)
Ответ на: комментарий от anonymous

Чуть выше я давал ссылку на видео с Google I/O.
Пока разработчики приложений будут использовать JS c через пятую точку - все будет тормозить.
Ну и технологии сырые, с этим вроде никто не спорил.

winddos ★★★
() автор топика
Ответ на: комментарий от ugoday

> виндузятники открыли для себя Х11

х11 тут надостаточно кроссплатформенный, имхо. без жабы ну никак.

Rastafarra ★★★★
()
Ответ на: комментарий от Wormik

>AMD не ATi, и создавая с нуля поддержку OpenCL в драйверах, не наломала дров.

«наломать дров» - очень точное определение процесса написания драйверов ATI.

vasaka ★★★
()
Ответ на: комментарий от winddos

>Google с их Chrome OS он необходим как воздух, а потому надеюсь на быстрое продвижение.

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

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

anonymous
()
Ответ на: комментарий от duott

Chromium OS, внезапно, не пишется как большой видео-плеер с элементами управление.
Это все таки порезанный линукс с одним большим Браузером, в котором и планируется все запускать, на клиенте, используя сервисы гугла как источник данных.

Все новомодные технологии и игры конечно не всем нужны, но они в любом случае лучше, чем Flash/SL.
Тем более WebGL идеально подходит для нишы визуализации в обучающих материалах, статистике, и т.п.

winddos ★★★
() автор топика
Ответ на: комментарий от duott

>что со временем компьютерные игры могут переехать в браузер, когда технологии позволят использовать ресурсы компьютера на полную?

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

Это не просто плохая технология, это деградация отрасли.

При этом никакого прорыва в плане клиент-серверности всё равно нет, т.к. js-код исполняется на компьютере клиента, а приложения, работающие с сетью, были и до появления всех этих браузеров.

Получается, что изобрели ещё одну запускалку приложений, но, в отличие от предыдущих, она жрёт ресурсы и вынуждает покупать шестиядерные процы. И ради чего?

anonymous
()
Ответ на: комментарий от RussianNeuroMancer

В кризисе (первом):
scaleform (flash)
ffmod
только directx рендер.
И это только часть проблем.
Так ли этот ваш кризис нужен на линуксе?

Готовы написать свою рендерилку, переписать работу со звуком, допилить GameSWF?
Почему то я думаю, что нет, т.к кому на линуксе нужен бенчмарк с оффтопика.

winddos ★★★
() автор топика
Ответ на: комментарий от anonymous

>Чтобы окончательно убить десктопный линукс, а также навязать кучу услуг за деньги?
Гугл идет другим путем, он вообще редко предлагает услуги за деньги.
Я на 100% уверен, что их модель не изменится в ближайшие лет 10.

Им сполна хватает денег с рекламы, за счет которых они и существуют.
А ведь если хомячки будут использовать их ОС, то знать они смогут о них ещё больше.
А значит больше профита от рекламы.

Ситуация, когда ОС станет видео-плеером с кнопочками меня пугает куда больше.

winddos ★★★
() автор топика
Ответ на: комментарий от winddos

только directx рендер.
> И это только часть проблем.
> Так ли этот ваш кризис нужен на линуксе?
Это гипотетически. Замените Crysis на Doom или Rage, если хотите
> Готовы написать свою рендерилку, переписать работу со звуком, допилить GameSWF?
Мне это не нужно, а вот разработчики какого-нибудь Quake Live может и перепишут.

RussianNeuroMancer ★★★★★
()
Ответ на: комментарий от anonymous

>Это просто js в браузерах настолько тормознут, что для его нормальной работы нужны сверхмощные GPU, а в результате получается графика уровня прошлого века.
Я скинул демки выше, да и в сети их множество.
С качеством текстур и моделей никакой проблемы нет, т.к она совершенно не относится к JS.
Ну а про производительность - бенчмарков нет, я не знаю точную просадку в скорости исполнения из за JS, а значит и спорить не вижу смысла.

Когда появятся точные цифры о том, что именно можно сделать, а чего нельзя - будет разговор.
Пока я вижу, что хорошую графику сделать можно.
Вижу, что можно написать хороший код который работает быстро!


Это не просто плохая технология, это деградация отрасли.

При этом никакого прорыва в плане клиент-серверности всё равно нет,


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

Получается, что изобрели ещё одну запускалку приложений, но, в отличие от предыдущих, она жрёт ресурсы и вынуждает покупать шестиядерные процы. И ради чего?

Вы про Flash говорите?

winddos ★★★
() автор топика
Ответ на: комментарий от RussianNeuroMancer

>Doom или Rage
Я вас видимо не понял, но:
Все движки от id со временем становятся GPL, и почти все игры портированы под linux.
Есть не нулевая вероятность, что пусть и не сразу, но Rage тоже к нам зайдет.

Или о чем вы?

winddos ★★★
() автор топика
Ответ на: комментарий от Motif

Ну к слову.
WebCL в данной реализации вообще не имеет никаких потерь производительности.
И после релиза стандарта скорее всего не будет иметь, так что эта претензия мимо.

winddos ★★★
() автор топика
Ответ на: комментарий от duott

>Ради кросс-платформенности, очевидно же.

А что с ней не так? Написать программу, которая работает под кучей систем можно хоть с SDL. В результате мы получаем быстрый кроссплатформенный код. Всё упирается только в драйверы.

При этом браузер не несёт спасения от этой проблемы. Получается, что изобрели ещё одну кроссплатформенную запускалку, которая не лучше любых других, но на js и тормозит.

anonymous
()
Ответ на: комментарий от winddos

Или о чем вы?
О том, что вместо Крузиса в браузер может быть портирован другой сферический AAA-шутер в вакууме, который проще портировать.

RussianNeuroMancer ★★★★★
()
Ответ на: комментарий от winddos

>Ну а про производительность - бенчмарков нет, я не знаю точную просадку в скорости исполнения из за JS, а значит и спорить не вижу смысла.

Я запускал webgl-приложения, и они тормозили. OpenCL у меня нет, да и без него как-то работает nexuiz, всякие пенумбры и даже doom 3. Странно, что программы, намного более примитивные, но написанные на js, тормозят, не правда ли?

Вижу, что можно написать хороший код который работает быстро!

Js не будет быстрее нативного клиента. Потому и пишут костыли с opencl.

Кроме того, браузеры сами по себе очень медленные.

Вы про Flash говорите?

Ваш фанатизм вам закрывает глаза, уж извините. Флеш, кстати, у меня работает быстрее, чем js-ная анимация. Он нестабильный и кривой, но не тормозной.

Как минимум всякая фигня типа галереи картинок с fade in/fade out на флеше тормозит значительно меньше. А видео через флеш меньше жрёт, чем через новомодный <video> из html5. Я проверял на ютубе, не один раз.

Тот же js каждые n секунд тормозит, так как врубается garbage collector, и в ФФ это особенно заметно. Вся анимация останавливается.

У меня celeron 1.8 ghz, одно ядро, 2гб памяти. Можно обвинять меня в нищебродстве, но я не понимаю, зачем брать новую многоядерную хрень, чтобы получить то, что и так работает, но не в браузере, а в виде нормального десктопного приложения.

anonymous
()
Ответ на: комментарий от winddos

>Гугл идет другим путем, он вообще редко предлагает услуги за деньги. Я на 100% уверен, что их модель не изменится в ближайшие лет 10.

Вы ему ещё памятник поставьте в углу комнаты, и молитесь. Гугл не лучше микрософта, ещё увидите, как он себя поведёт, когда станет монополистом.

anonymous
()

нахрен не нужны игры в браузере

fero ★★★★
()
Ответ на: комментарий от RussianNeuroMancer

Портирование стоит денег, а гугл пока своей аудиторией видит игроков в Angry Birds, что сделаешь.

winddos ★★★
() автор топика

Вот бы модуль для Лиспа с поддержкой создания аппаратно-ускоренных веб-интерфейсов... А то с обычными интерфейсами у Лиспа беда.

Nebuchadnezzar ★★★★
()
Ответ на: комментарий от winddos

Портирование стоит денег, а гугл пока своей аудиторией видит игроков в Angry Birds, что сделаешь.
Но зачем-то продолжает пилить WebGL в Chrome/Chromium. Вы не могли подкорректировать ваше предположение с учётом этого факта?

RussianNeuroMancer ★★★★★
()

Можно для Ъ какой профит юзерам от этого?

Ubuntu1104
()
Ответ на: комментарий от anonymous

>Я запускал webgl-приложения, и они тормозили.
Это новая технология.

Странно, что программы, намного более примитивные, но написанные на js, тормозят, не правда ли?

Нет не странно, их оптимизацией никто не занимается, т.к большинство из них - демки.

Js не будет быстрее нативного клиента.

Спасибо, кэп.

Потому и пишут костыли с opencl.

Вы понимаете, зачем вообще нужна данная технология?
В нативных играх есть например NVIDIA PhysX, физика считается на ядрах CUDA.
WebCL предназначена не для ускорения JS, а для решения на JS задач аналогичным в нативных приложениях.
И тут то оно не может работать сильно быстрее или медленнее, чем в приложении написанном на C++.
Причина проста - код исполняется на GPU в обоих случаях.

Ваш фанатизм вам закрывает глаза, уж извините.

Он нестабильный и кривой, но не тормозной.


У меня нет никакого фанатизма касательно WebGL, я просто знаю, что открытый стандарт всегда лучше проприетарного.
Глупо будет перечислять тут все проблемы флеша, хотя сначало хотелось.
Есть факт - он закрытый, кривой, он тоже может повесить систему если кодер криворук.
И в отличии от открытых технологий он не станет лучше, т.к годы это показали.

Флеш, кстати, у меня работает быстрее, чем js-ная анимация. Он нестабильный и кривой, но не тормозной.

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

У меня celeron 1.8 ghz, одно ядро, 2гб памяти.

Это не просто плохая технология, это деградация отрасли.


Все понятно, вы видимо ценитель развития отрасли.
Повторю последний раз и спор прекращаю: я не говорю что эти технологии быстрее чем флеш.
Я говорю, что пока нет объективных причин для того, чтобы большой проект в будущем работал в 5 раз медленнее чем в нативном виде.
Потеря производительности в 10-30% вполне возможна, но скорость со временем придет к этим цифрам.

winddos ★★★
() автор топика
Ответ на: комментарий от winddos

>В нативных играх есть например NVIDIA PhysX, физика считается на ядрах CUDA.

У меня нет CUDA, и нативные игры работают. Как же раньше без неё жили.

Вы понимаете, зачем вообще нужна данная технология?

Зачем?

Я говорю, что пока нет объективных причин для того, чтобы большой проект в будущем работал в 5 раз медленнее чем в нативном виде.

Сделать сотни костылей вроде opencl и прочего, чтобы добиться того, что уже можно сделать сейчас без всего этого. Прекрасно.

Потому что его точили много лет, но добились лишь чуть большей производительности.

А js вчера родился? Его точат не меньше.

anonymous
()
Ответ на: комментарий от RussianNeuroMancer

Кризисы никто не будут делать на WebGL, потому что даже Windows уже сейчас считается убыточной платформой для разработки ААА проектов.
А WebGL проект с графикой ААА уровня просто не окупится, а ведь разработка выльется в очень большие деньги.
Ну и плюс к этому технологии пока не готовы, т.к к примеру именно физику считать негде.

Пилят WebGL сейчас для целевой аудитории PC: MMO игры, браузерки, всякого рода фермы, казуалки. Ну и для визуализации.

winddos ★★★
() автор топика

интересный мысль - всё засовывать в JavaScript;) - люди, кто умеет писать ядра - обычно и на оп-коде писать могут ;) но для юзеров может быть полезно

azazello ★★★★
()

Что за стремление - всё впихнуть в браузер? Нет, понятно, что облака нужны и приложениям в браузере - быть, но не везде же! Не легче в большинстве случаев написать ту же самую игру/визуализацию как десктопное приложение и прикрутить работу с сетью?

А так - идея интересная, но слишком уж нишевой она мне видится. Будет время - будем разбираться с этой штуковиной)

darv
()
Ответ на: комментарий от anonymous

>Зачем?
Для физики, которой у вас нет, и которую ваш CPU не потянет.

А js вчера родился? Его точат не меньше.

гуглите «javascript actionscript performance comparison»
Нашел только старое, времени искать ещё нет:
http://jacksondunstan.com/articles/232
http://jacksondunstan.com/articles/618
Сейчас, я уверен, соотношения не сильно изменились, а если изменилось то не в сторону флеша.
Адоб никогда не сможет догнать команды Google/Mozilla которые ежедневно совершенствуют JIT-компиляторы для JS.

Если не понятно: тормозит не сам js, и не само технологическое решение.
WebGL новая технология, и тормозит текущая её реализация, а лиса вообще просто течет.

У меня нет CUDA, и нативные игры работают.

Я рад что у вас работает SuperTuxKart и плеер на ютубе.

Как раньше игры жили без 512 мб видеопамяти?
Как раньше игры жили без 3/4 шейдеров?
Как раньше игры жили без двухядерного процессора?
Как раньше игры жили 4gb оперативки?
Как раньше игры жили без 10gb на диске?

Разговор с вами закончил.

winddos ★★★
() автор топика
Ответ на: комментарий от winddos

Хотя я не прав. Там есть другой тест:
http://jacksondunstan.com/articles/1145
Но так или иначе, разница очень маленькая.

Да и там нет свежих Chromium и ночных билдов Firefox.

winddos ★★★
() автор топика
Ответ на: комментарий от winddos

>Адоб никогда не сможет догнать команды Google/Mozilla которые ежедневно совершенствуют JIT-компиляторы для JS.

Не первый год совершенствуют, а оно тормозит. Рендеринг SVG вон вообще тормоз, достаточно немного помасштабировать svg-шный файл с педивикии, чтобы в этом убедиться. И как-то лучше не становится.

гуглите «javascript actionscript performance comparison»

Там тормоза в том числе и на уровне отрисовки. А в браузере оно значительно медленнее, т.к. есть DOM, его костыли и прочие нюансы. Это вам не вектора рисовать, как на флеше.

Я рад что у вас работает SuperTuxKart и плеер на ютубе.

Если вы не знаете других игр, то это очень печально.

Как раньше игры жили без 512 мб видеопамяти?

Не поверите, но на 512мб видеопамяти работали такие вещи, которые на webgl только на двухгиговых супермощных OpenCl-capable картах заведутся. И то с трудом. Деградация налицо.

anonymous
()
Ответ на: комментарий от darv

>Не легче в большинстве случаев написать ту же самую игру/визуализацию как десктопное приложение и прикрутить работу с сетью?

Можно написать универсальную запускалку для игр, без браузерного оверхеда, и тогда получится то же самое, что с этими WebGL и WebCl, но не тормозящее и более удобное.

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

anonymous
()

вот она - облачность, ага, считаться всё равно будет всё у вас, только пускаться в браузере.

RedPossum ★★★★★
()
Ответ на: комментарий от winddos

А вы догадываетесь, по каким причинам был создан OnLive? Читали, какие игры есть в этом сервисе? Знаете ли об ограничениях OnLive?
Понимаете ли, что дальнейшее развитие WebGL позволит создать (идеологический) аналог OnLive без присущих ему проблем?

RussianNeuroMancer ★★★★★
()
Ответ на: комментарий от anonymous

>У меня celeron 1.8 ghz

сидеть на железе, которое 10 лет назад было дешевым хламом, и громко вещать про тормозящие скрипты - это такой новый вид мазохизма?

nu11 ★★★★★
()
Ответ на: комментарий от RussianNeuroMancer

>А вы догадываетесь, по каким причинам был создан OnLive?
Я точно понимаю, что причинами в данном случае становится пиратство.
Ну а так же желание сделать тонкие клиенты для игры и срубить с них денег.

Читали, какие игры есть в этом сервисе?

Знаете ли об ограничениях OnLive?


Да и да, я даже его использовал, вот прямо сейчас запустил и посмотрел что там есть и как оно работает.
Отлично работает и подходит не для экшенов.

Понимаете ли, что дальнейшее развитие WebGL позволит создать (идеологический) аналог OnLive без присущих ему проблем?

Нет, идеология OnLive - 100% DRM, игрок получает только картинку.
И реализовать этот плеер можно даже без WebGL, и сам WebGL там как пятая нога для лошади.

WebGL позволит создать аналог игр с Ubisoft DRM, т.е часть логики игры располагается в облаке, а не исполняется у вас.
Но при этом все игровые ресурсы и большая часть логики все таки будут у вас на машине.
Никто не мешает делать клиент серверные приложения и без браузера, просто гугл выбрал для себя именно этот путь.

И пока они реально тянут технологии вперед, я буду на их стороне.
Ещё раз - я понимаю на чем зарабатывает гугл, и для их бизнес модели мега DRMнутые сервисы не требуются.
Просто потому, что конкуренты не дремлют, а во вторых антимонопольщики не позволят.
Если в вашем (не) идеальном мире корпорация может внезапно навязать 100% DRM всему миру, то я просто скажу что так не бывает.
Мелкософт уже получал кучу исков в Европе и США. Гугл не так глуп, чтобы наступать на чужие грабли.

winddos ★★★
() автор топика
Ответ на: комментарий от Motif

Ну сколько раз говорить: технология свежая.
Нет объективных причин утверждать, что сама архитектура не позволяет создавать приложения с неплохой производительностью.
Да, прослойки, лишние сущности, но браузер использует те же самые графические API, а значит производительность может быть достаточно высокой.

В общем не вижу смысла сейчас спорить о том, что будет ясно через год-два.
С моей точки зрения все эти технологии лучше чем флеш и ему подобные.
В конце концов использовать их вас никто не заставляет.

winddos ★★★
() автор топика
Ответ на: комментарий от winddos

Нет, идеология OnLive - 100% DRM, игрок получает только картинку.
Идеология OnLive - нажал кнопку и сразу играешь. Соответственно дальнейшие рассуждения о DRM - не в кассу.

RussianNeuroMancer ★★★★★
()
Ответ на: комментарий от RussianNeuroMancer

Это ваше личное мнение.
OnLive создавался, пиарился, и продвигается среди издателей исключительно как форма DRM.
Почитайте новости, обзоры, в т.ч на порталах посвященных геймдеву.

Нажал - играешь, было по факту и до Onlive.
Скажем в Guild Wars была динамическая подкачка нужного контента, хотя немного иначе, да.
Опять же спор не по теме, да и бессмысленный он.

Или вы будете настаивать, что у WebGL и OnLive одна идеология?
Естественно нет, т.к игровые ресурсы все равно придется качать до того как начать игру, просто качаются они в браузер.

winddos ★★★
() автор топика
Ответ на: комментарий от winddos

Или вы будете настаивать, что у WebGL и OnLive одна идеология?
Я настаиваю на том, что WebGL позволит сделать продукт лучше, чем OnLive. В будущем.

RussianNeuroMancer ★★★★★
()
Ответ на: комментарий от RussianNeuroMancer

OnLive - Это сервис запускающий софт в облаке, он такой не единственный да и кроме них существуют софтовые решения для тонких клиентов (в т.ч от citrix).
WebGL - это вообще лишь биндинг к OpenGL.

Поэтому я совершенно не понял, какая вообще между ними связь.

winddos ★★★
() автор топика

Оставьте веб в покое, копрофилы! Уже туда и GL туда перенесли. А тормозит все так, как будто десяток крюзисов запустили одновременно! Оставьте веб, сволочи! Делайте свой копропротокол, и извращайтесь там вволю! Из-за вас веб броузеры стали тяжелыми.

Quasar ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.