URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 78026
[ Назад ]

Исходное сообщение
"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."

Отправлено opennews , 19-Июн-11 10:17 
В последнее время скорость выполнения JavaScript в новейших веб-браузерах стала настолько высокой, что на основе этого языка программирования стали появляться проекты мало связанные с  разработкой веб-приложений. Самым заметным из таких проектов стал написанный на языке  JavaScript эмулятор x86 компьютера (http://bellard.org/jslinux/tech.html), созданный (http://www.opennet.me/opennews/art.shtml?num=30577) талантливым французским исследователем Фабрисом Белларом (Fabrice Bellard). В рамках проекта JSMad (http://jsmad.org/) предпринят ещё один эксперимент, в результате которого на языке JavaScript был написан декодер для файлов MP3.

JSMad позволяет веб-браузеру Mozilla Firefox 4 проигрывать файлы MP3 без использования Adobe Flash. Код также  работает и в Google Chrome, начиная с 13 версии, но для работы нужно обязательно включить поддержку Web Audio API. Производительности JavaScript-движка хватает для  беспроблемного проигрывания MP3-файлов с битрейтом вплоть до ...

URL: http://news.ycombinator.com/item?id=2665821
Новость: http://www.opennet.me/opennews/art.shtml?num=30921


Содержание

Сообщения в этом обсуждении
"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено ВКПб , 19-Июн-11 10:17 
Нагрузка на athlon II x2 2.8 Ghz - 30%

"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено Иван Иванович Иванов , 19-Июн-11 10:54 
CPU@1GHZ?

У меня на Sandy Bridge @1.6GHz - 15-17%.


"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено ВКПб , 19-Июн-11 11:14 
> CPU@1GHZ?
> У меня на Sandy Bridge @1.6GHz - 15-17%.

Забыл, что C@Q включенный.


"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено Аноним , 19-Июн-11 18:47 
Значит частота не задралась - это были 30% от проца в idle режиме...

"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено ВКПб , 19-Июн-11 10:19 
В хроме 10-14% нагрузка

"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено me , 19-Июн-11 10:26 
Прикольно, но в лисе начинает заикаться, когда на другую вкладку переходишь

"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено ВКПб , 19-Июн-11 10:40 
У меня не заикается.

"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено Аноним , 19-Июн-11 10:47 
Из новшеств в последнем фаерфокс:
>Для неактивных вкладок значение setTimeout и setInterval увеличено с 10 мс до 1000 мс, что позволяет уменьшить негативное влияние скриптов в фоновых вкладках на производительность браузера, за счет уменьшения интенсивности вызова периодических процессов;

Получается для вот таких вот плееров оно не подходит?


"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено Faggot , 19-Июн-11 10:52 
Поставь 10 в about:config  у параметра dom.min_background_timeout_value

"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено ВКПб , 19-Июн-11 10:38 
Еще бы vorbis и flac сделать. Видеокодек наверное очень сложно будет реализовать :(

"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено Аноним , 19-Июн-11 18:52 
> Еще бы vorbis и flac сделать.

В принципе возможно, но vorbis уже и так есть в нативном виде во всех нормальных браузерах, так что проц кушает в разы меньше. А FLAC вы качать задолбаетесь (анлимный гигабит к сожалению пока редкость).  

> Видеокодек наверное очень сложно будет реализовать :(

Ну он будет жестоко жрать проц. Потому что асм-оптимизации не будет, так что в лучшем случае он сольет нормальным кодекам раза в 3-4, в хучшем - во много-много раз.


"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено ano , 20-Июн-11 03:21 
>А FLAC вы качать задолбаетесь (анлимный гигабит к сожалению пока редкость).

комрад, вы немного обсчитались. анлимный мегабит уже достаточно распространён.


"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено Аноним , 20-Июн-11 16:15 
> комрад, вы немного обсчитались. анлимный мегабит уже достаточно распространён.

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


"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено runoverheeads , 19-Июн-11 10:44 
в FF5 в неактивной вкладке заикается раз в секунду)

"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено Иван Иванович Иванов , 19-Июн-11 10:54 
> в FF5 в неактивной вкладке заикается раз в секунду)

Это так задумано, чтобы неактивные вкладки не роняли работу веб-браузера.


"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено Faggot , 19-Июн-11 10:57 
> Это так задумано, чтобы неактивные вкладки не роняли работу веб-браузера.

таймаут настраивается в about:config, см. комментарий выше


"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено Sergey722 , 20-Июн-11 17:15 
а отцепить вкладку в отдельное окно не помогает?

"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено Аноним , 19-Июн-11 11:01 
Что за новый тренд переписывать всё на js?!

"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено Аноним , 19-Июн-11 11:06 
тренд называется хромаяОСь

"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено wechat , 20-Июн-11 18:39 
Задолбали.


"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено Casm , 19-Июн-11 11:56 
Думаю, чтобы пользователям, желающим поработать в интернет, не приходилось ставить что-либо, кроме браузера.

Андреас Гал (Andreas Gal) с коллегами из Mozilla разработали первый нормальный движок pdf.js для отображения PDF средствами HTML5/JavaScript (демо - http://people.mozilla.org/~gal/test.html ).


"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено Аноним , 19-Июн-11 12:52 
>нормальный

http://ompldr.org/vOTRwbA


"Представлен проект JSMad, с реализацией проигрывателя..."
Отправлено anonymous , 21-Июн-11 04:02 
> пользователям, желающим поработать в интернет

не «поработать», а ерунду погонять.


"Представлен проект JSMad, с реализацией проигрывателя..."
Отправлено szh , 21-Июн-11 16:19 
не ерунду погонять, а поработать или ерунду погонять

"Представлен проект JSMad, с реализацией проигрывателя..."
Отправлено anonymous , 21-Июн-11 21:51 
не «поработать или ерунду погонять», а «ерунду погонять».

"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено Аноним , 19-Июн-11 12:48 
А лицензию правообладателям на mp3 они оплатили?

"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено Аноним , 19-Июн-11 15:01 
А патенты еще не истекли?

"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено Аноним , 19-Июн-11 15:21 
> А патенты еще не истекли?

Вроде, нет. В сша точно нет, ибо в офф репозиториях федоры декодера мп3 нету.


"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено DFX , 19-Июн-11 15:58 
вот это хороший вопрос. ибо:
>> JSMad позволяет веб-браузеру Mozilla Firefox 4 проигрывать файлы MP3 без использования Adobe Flash. Код также работает и в Google Chrome, начиная с 13 версии, но для работы нужно обязательно включить поддержку Web Audio API. Производительности JavaScript-движка хватает для беспроблемного проигрывания MP3-файлов с битрейтом вплоть до 320KBit/sec. На основе JSMad можно легко создать основанную исключительно на веб-браузере программу по проигрыванию библиотеки музыки в стиле JukeBox.

- абсолютно бессмысленно. надо mp3'шек ? связать лису с libmad без всяких жаб напрямую ! а то и весь ffmpeg сразу. но ведь причина, по которой разрабы отказываются, не в библиотеках и реализациях, а в патентах, с которыми при любой реализации поимеют.


"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено Аноним , 19-Июн-11 22:36 
> А лицензию правообладателям на mp3 они оплатили?

А это будете оплачивать вы, кто на сервер рискнет положить :)


"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено Timka , 19-Июн-11 12:59 
У меня он мало того, что заикается, так еще и проигрывает все с пятикратной скоростью :) все это на активной вкладке. FF5, в abuot:config не лазал.

"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено zloy_pingvin , 19-Июн-11 13:44 
У меня на FF4 (4.0.1) работает без проблем.Все по дефолту, ничего нигде не менял. Единственное, прерывается при открытии новой вкладки, при переходах между уже открытыми играет без заиканий. Загрузка процессора (Sempron 145:)) - около 40%...  

"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено ВКПб , 21-Июн-11 19:10 
> У меня на FF4 (4.0.1) работает без проблем.Все по дефолту, ничего нигде
> не менял. Единственное, прерывается при открытии новой вкладки, при переходах между
> уже открытыми играет без заиканий. Загрузка процессора (Sempron 145:)) - около
> 40%...

C&Q включенный?


"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено pavlinux , 19-Июн-11 13:00 
Ждемс аппаратный ускоритель JavaScript :)


"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено Аноним , 19-Июн-11 13:10 
jit'а вполне хватит.

"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено Аноним , 19-Июн-11 13:35 
Дак джит уже во всех популярных движках есть.

"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено eugenyn , 19-Июн-11 14:03 
JIT более эффективен, когда язык программирования с обязательной типизацией, тогда гораздо меньше всяких проверок.

Например виртуальная Flash-машина 1-ой версии (AVM 1, поддерживаемые версии языка - ActionScript 1, ActionScript 2) не такая эффективная как 2-ой версии (AVM 2, поддерживаемые версии языка - ActionScript 3).

Flash-плагин содержит обе виртуальные машины (AVM 1 + AVM 2).

Именно из-за отсутствия типизации в JavaScript - лично я к нему отношусь плохо. Невозможен качественный скачок.

ActionScript 1 напоминал JavaScript, ActionScript 2 - на порядок более наворочен (но после компиляции код не отличим от откомпилированного с ActionScript 1), ActionScript 3 - напоминает уже Java (правда сильно кастрированную версию, без 2/3 возможностей, но за это "спасибо" отличной компании Adobe).

Многие языки начинают со скриптовости, потом добавляя какие-то advanced-возможности (как в PHP потом добавили возможности для ООП, а ведь там тоже виртуальная машина).


"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено Антоним , 19-Июн-11 15:07 
тогда уж со строгой типизацией. Но язык целевого назначения JS не может быть со стогой типизацией, кодеры от такого охренеют т.к. большинство из них не имеет достаточной квалификации и навыков.

"Представлен проект JSMad, с реализацией проигрывателя..."
Отправлено anonymous , 21-Июн-11 04:09 
> …т.к. большинство из них не имеет достаточной квалификации и навыков.

…чтобы хорошо писать на языке, который не ограничивает программиста со всех сторон искусственными костылями.


"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено Аноним , 19-Июн-11 15:21 
Ну спор по поводу что лучше динамическая или статическая типизация идет до сих пор, везде свои плюсы и минусы.

"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено Аноним , 19-Июн-11 18:56 
> Flash-плагин содержит обе виртуальные машины (AVM 1 + AVM 2).
> Именно из-за отсутствия типизации в JavaScript - лично я к нему отношусь
> плохо. Невозможен качественный скачок.

Есть только одна проблемка: современный JS по скорости рвет ActionScript с жесточайшим отрывом. Это так, о качественных скачках. Пока адоб топтался на месте, JS в процессе рубки фокса и хрома скакнул в разы и разы. Теперь он на современном компьютере запросто позволяет поиграть в DOOM ;)


"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено eugenyn , 19-Июн-11 19:25 
> Есть только одна проблемка: современный JS по скорости рвет ActionScript с жесточайшим отрывом.

Вопросы:

1) При каких операциях (цикл, поиск в массиве, создание объекта, другое)?

2) Какие именно языковые конструкции в этих операциях (дело в том, что например в  ActionScript 3 _не использование_ оператора "new" может дать выигрыш в производительности раз в 10)?

3) При какой версии Flash-плагина вы тестировали?

> Теперь он на современном компьютере запросто позволяет поиграть в DOOM ;)

Doom (или Quake, не помню) существует под Flash-виртуально машиной давным-давно (года 4 уже) - еще до всех адобовских улучшений последних лет в плане поддержки GPU вообще и наипоследнейшей поддержки 3D в частности.


"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено Аноним , 19-Июн-11 22:46 
> Вопросы:
> 1) При каких операциях (цикл, поиск в массиве, создание объекта, другое)?

Точно не скажу, но любые более-менее сложные бенчмарки на современных движках JS порвут флеш играючи. Пруфлинк: http://habrahabr.ru/blogs/javascript/121997/

> 2) Какие именно языковые конструкции в этих операциях (дело в том, что
> например в  ActionScript 3 _не использование_ оператора "new" может дать
> выигрыш в производительности раз в 10)?

Выигрыш дает общая оптимизация движков. Файрфокс с хромом рубаются не на шутку. Поэтому за последнее время скорости большей части операций у обоих взлетели в РАЗЫ. В то время как адоб околачивал груши. Смотрите ссылку выше - там на примере теста V8 ситуация рассмотрена.

> 3) При какой версии Flash-плагина вы тестировали?

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

>> Теперь он на современном компьютере запросто позволяет поиграть в DOOM ;)
> Doom (или Quake, не помню) существует под Flash-виртуально машиной давным-давно (года 4
> уже) - еще до всех адобовских улучшений последних лет в плане
> поддержки GPU вообще и наипоследнейшей поддержки 3D в частности.

Как я помню он был только на AIR, а чтобы только в браузере из веба - такое было? AIR надо устанавливать, при том откуда-то сбоку. Что ставит крест на его полезности.


"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено eugenyn , 19-Июн-11 23:14 
>> Вопросы:
>> 1) При каких операциях (цикл, поиск в массиве, создание объекта, другое)?
> Точно не скажу, но любые более-менее сложные бенчмарки на современных движках JS
> порвут флеш играючи. Пруфлинк: http://habrahabr.ru/blogs/javascript/121997/

По ссылке указано, что, цитата "Основной целью этого было сравнить скорость исполнения Flash vs JavaScript (вычислений, но не отрисовки)."

А нововведения Adobe в последний год больше направлены на отрисовку, 2D и 3D.

В остальном я согласен - Adobe слишком плохо развивает купленную ею технологию. Будете удивлены, но я не раз в Рунете ругал Adobe на этот счет и вообще говорил, что технология отойдет достаточно скоро в мир иной. В страхе перед близким концом Adobe наконец-таки добавила 3D во Flash, так что в ближайший год ждите много новых он-лайн игр с 3D на Flash - большое число вакансий для Flash за последние пол года (при том, что это направление программирования - и так одно из первых ожило после кризиса).

>> 3) При какой версии Flash-плагина вы тестировали?
> Сходите по ссылочке уже.

Вы пока писали - думали, что я читаю (мысленно) уже написанное, но не закоммитенное вами? :)

>>> Теперь он на современном компьютере запросто позволяет поиграть в DOOM ;)
>> Doom (или Quake, не помню) существует под Flash-виртуально машиной давным-давно (года 4
>> уже) - еще до всех адобовских улучшений последних лет в плане
>> поддержки GPU вообще и наипоследнейшей поддержки 3D в частности.
> Как я помню он был только на AIR, а чтобы только в
> браузере из веба - такое было? AIR надо устанавливать, при том
> откуда-то сбоку. Что ставит крест на его полезности.

Да нет же. В этой же ссылке, приведенной вами, есть следующие слова - "что его есть куда оптимизировать и Alchemy доказывает это". - Вот этот проект Alchemy и позволяет переносить С-код в обычную версию Flash-плейера.


"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено Аноним , 21-Июн-11 11:22 
> По ссылке указано, что, цитата "Основной целью этого было сравнить скорость исполнения
> Flash vs JavaScript (вычислений, но не отрисовки)."

Мы про JIT и скорость вычислений вроде как и говорили. Что вам не нравится? :)

> А нововведения Adobe в последний год больше направлены на отрисовку, 2D и 3D.

JIT как раз к скорости вычислений и относится, если что. А к чему там нововведения адобы относятся - их половые трудности. Лично меня они утомили своими постоянными дырками и хронической неспособностью сделать нормальную х64 версию флеша ни под 1 ОС. Почему-то ни хрому, ни мозилле совсем не представляет проблем выкатить х64 версию браузера. Более того, в 64-битных линуксах 64-битные браузеры просто по умолчанию. И вполне себе нормально работают (приветы MS с их тормозным 64-битным IE :D). Похоже, опенсорсные технологии начинают заруливать проприетарщиков уже и чисто технически.

> В остальном я согласен - Adobe слишком плохо развивает купленную ею технологию.
> Будете удивлены, но я не раз в Рунете ругал Adobe на этот счет и вообще говорил,
> что технология отойдет достаточно скоро в мир иной.

Адоб делает для этого все возможное и невозможное. С появлением canvas нужда в флеше стала спорным вопросом. И эту фичу поддерживают ВСЕ современные версии браузеров.

> В страхе перед близким концом Adobe наконец-таки добавила 3D
> во Flash, так что в ближайший год ждите много новых он-лайн игр с 3D на Flash

Боюсь что нужность всего этого погоды никому не сделает. Хардкорных геймеров не так уж много. А у остальных - дохлые ноуты с интелским интегратом или допотопные пентиумы с не менее интегрированным видео на самой дешевой мамке. Там особо с 3D не разойдешься чисто технически. Пролетит адоба, как пить дать. Ну, останется на 20% геймерских компов а остальным 80% будет не нужна. И помрет в результате, как только за то же самое всерьез примутся в браузерах (стандарт, собственно, уже есть).

> - большое число вакансий для Flash за последние пол года (при том, что это
> направление программирования - и так одно из первых ожило после кризиса).

Большое - по сравнению с чем?

> Да нет же. В этой же ссылке, приведенной вами, есть следующие слова
> - "что его есть куда оптимизировать и Alchemy доказывает это". -
> Вот этот проект Alchemy и позволяет переносить С-код в обычную версию
> Flash-плейера.

Все замечательно, кроме того что JSный VM уже быстрее адобского, а сишный код можно и на JS перенести. А так - посмотрите на тренды. Доля флеша неуклонно падает. Большей части хомячков он был нужен только ради ютуба. Но ютуб нынче работает и без него.

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


"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено eugenyn , 19-Июн-11 23:33 
Вообще на Flash многие вещи создавать на порядок проще, чем на JavaScript.

Пример - реклама мороженного Magnum. http://pleasurehunt.mymagnum.com/

На флеше программирование тут минимально. Наверное не более 200 строк кода (но можно уложиться и в 70).

;)


"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено gordev , 20-Июн-11 12:19 
особенно "просто" во флеше с удаление объектов :)

"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено eugenyn , 20-Июн-11 12:43 
> особенно "просто" во флеше с удаление объектов :)

Вы хотите рассказать историю, как не правильно программировать под виртуальными машинами? И почему потом проблемы? ;)

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

Используйте типовое решение - пул текущих объектов такой-то подсистемы.

Еще вопросы? :)



"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено gordev , 20-Июн-11 14:04 
>> особенно "просто" во флеше с удаление объектов :)
> Вы хотите рассказать историю, как не правильно программировать под виртуальными машинами?
> И почему потом проблемы? ;)
> Единственная ситуация, которую касается ваш вопрос - это создание и удаления тысяч
> и десятков тысяч объектов анимации. Не создавайте столько. Представьте, что кто-то
> тысячами будет пытаться создавать сокеты (или потоки), быстро из удалять и
> опять создавать.
> Используйте типовое решение - пул текущих объектов такой-то подсистемы.
> Еще вопросы? :)

про пул я знаю и использую, тем не менее есть объекты которые невозможно переинициализировать, соответственно повторно использовать.
и вроде бы всё просто, присваиваем указателю null и вперед (ну и ещё пара ньюансов), но профайлер говорит что gc не подобрал его. не критично, но досадно :)


"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено eugenyn , 20-Июн-11 20:32 
> про пул я знаю и использую, тем не менее есть объекты которые
> невозможно переинициализировать, соответственно повторно использовать.
> и вроде бы всё просто, присваиваем указателю null и вперед (ну и
> ещё пара ньюансов), но профайлер говорит что gc не подобрал его.
> не критично, но досадно :)

Данными в объекте являются его поля, типизированные разными типами данными.

Что мешает написать метод init(), который будет вызываться и при переинициализации и, например, еще и при вызове каких-то конструкторов - ?

Мувиклипы можно атачить/детачить, в мувиклипах возможно динамическое рисование.

Все работы хороши, выбирай на вкус. (с)

P.S. Приведите кусочек кода, проясняющий ситуацию (можно очень схематично) или опишите более подробно, что имеете в виду.


"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено gordev , 20-Июн-11 21:29 
>[оверквотинг удален]
>> и вроде бы всё просто, присваиваем указателю null и вперед (ну и
>> ещё пара ньюансов), но профайлер говорит что gc не подобрал его.
>> не критично, но досадно :)
> Данными в объекте являются его поля, типизированные разными типами данными.
> Что мешает написать метод init(), который будет вызываться и при переинициализации и,
> например, еще и при вызове каких-то конструкторов - ?
> Мувиклипы можно атачить/детачить, в мувиклипах возможно динамическое рисование.
> Все работы хороши, выбирай на вкус. (с)
> P.S. Приведите кусочек кода, проясняющий ситуацию (можно очень схематично) или опишите
> более подробно, что имеете в виду.

У меня ситуация один раз только была, с Box2D 2.0.1. Там мир инициализируется с определенными размерами и переинициализировать его можно только создав новый мир. Вот я и решил не париться, и просто удалять объект.
Да и дело не в нем (я просто в итоге инициализировал мир очень большой по размеру и забыл про удаление), дело в том, что сама возможность вроде как есть удаления есть , но как она работает мне не понравилось.
Но в принципе может это и изза того что у меня руки к батарее один к одному прилегают.


"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено eugenyn , 20-Июн-11 21:47 
> сама возможность вроде как есть удаления есть , но как она работает мне не понравилось.

Многим не нравится SQL. До дрожи в коленках, до отвращения. Кому-то не нравится ООП. Кому-то не нравятся указатели. Кому-то президент, партия, правительство. ;)

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

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

Мы или сами управляем процессом познания и отношением к нему, или жизнь управляет нами. :)


"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено eugenyn , 20-Июн-11 21:02 
> ...присваиваем указателю null и вперед (ну и
> ещё пара ньюансов), но профайлер говорит что gc не подобрал его.
> не критично, но досадно :)

GC хорошо работает, если объекты не создавать и не удалять тысячами. В остальном это на усмотрение GC - его работа (как и если бы ручной вызов кода освобождение памяти) - тоже создает нагрузку на систему.

Каждый вызов - это накладные расходы. Проще один раз вызвать для освобождения памяти от 40 объектов, чем 40 раз - для каждого.

GC смотрит на наличие ОЗУ, количество готовых к освобождению объектов, объем занимаемой ими памяти и оценивает - когда лучше всего это сделать.

Конечно иногда кажется, что "вот если бы я вручную, то было то именно то, что мне нужно". Тогда можно написать код на С/С++ и не "косить" на виртуальную машину. :)

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


"Представлен проект JSMad, с реализацией проигрывателя..."
Отправлено anonymous , 21-Июн-11 04:11 
> Пример - реклама

нафф сказал. ни для чего более это решетo и не пригодно.


"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено Аноним , 21-Июн-11 11:29 
> Вообще на Flash многие вещи создавать на порядок проще, чем на JavaScript.

Во флеше, извините, надо жрать практически единственный расово верный редактор для авторинга этого барахла. От адобы. За деньги. Только под неудобную мне винду. В то время как на яваскрипте я могу програмить и под линуксом, не платя ни MS ни Adobe, в любом удобном мне редакторе. И я бы не сказал что мне проще и удобнее строиться под адобу и их выкрутасы. Угадаете какой технологии я отдам предпочтение? :)


"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено eugenyn , 21-Июн-11 11:50 
>> Вообще на Flash многие вещи создавать на порядок проще, чем на JavaScript.
> Во флеше, извините, надо жрать практически единственный расово верный редактор для авторинга
> этого барахла. От адобы. За деньги. Только под неудобную мне винду.
> В то время как на яваскрипте я могу програмить и под
> линуксом, не платя ни MS ни Adobe, в любом удобном мне
> редакторе. И я бы не сказал что мне проще и удобнее
> строиться под адобу и их выкрутасы. Угадаете какой технологии я отдам
> предпочтение? :)

Под ActionScript есть как минимум четыре IDE, включая одну вообще бесплатную. Которой многие пользуются.

С другой стороны не заплатить 200-400 USD за, если надо, какую-то другую платную IDE, при типовых окладах в 1200-2200 USD - есть форменное жлобство.

Максимальные же оклады до кризиса были у единиц в Москве, примерно 5000 - 7000 USD, но таких не будем брать, возьмем тех, кого больше всего.


"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено klalafuda , 20-Июн-11 07:00 
> Есть только одна проблемка: современный JS по скорости рвет ActionScript с жесточайшим отрывом. Это так, о качественных скачках. Пока адоб топтался на месте, JS в процессе рубки фокса и хрома скакнул в разы и разы. Теперь он на современном компьютере запросто позволяет поиграть в DOOM ;)

Во флеше - пожалуйста. И заметно круче, чем дум. Живой пример: http://www.tankionline.com/en/

С большим интересом жду ссылку на аналог но на JSе.


"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено Аноним , 21-Июн-11 11:31 
> Во флеше - пожалуйста. И заметно круче, чем дум.

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


"Представлен проект JSMad, с реализацией проигрывателя..."
Отправлено anonymous , 21-Июн-11 04:08 
> JIT более эффективен, когда язык программирования с обязательной типизацией, тогда гораздо
> меньше всяких проверок.

ерунда. правильно фраза звучит так: «один из видов JIT…» динамическую параметризацию, фоновые оптимизаторы и много других гитик никто не отменял. строгая типизация хороша для того, чтобы не пропускать явных ляпов, а для JIT совершенно не обязательна (и даже вредна, если хочется писать «generic»-алгоритмы).

> Именно из-за отсутствия типизации в JavaScript — лично я к нему отношусь
> плохо. Невозможен качественный скачок.

снова неверно. верно будет так: «я не могу придумать ничего для качественного скачка». а авторы Self в своё время много чего придумали, и ещё даже не всё толком опробовано. кое-что реализовано в V8, но тоже далеко не всё.


"Представлен проект JSMad, с реализацией проигрывателя..."
Отправлено anonymous , 21-Июн-11 04:03 
> Ждемс аппаратный ускоритель JavaScript :)

он уже есть. CPU называется.


"Представлен проект JSMad, с реализацией проигрывателя..."
Отправлено Аноним , 21-Июн-11 11:32 
> он уже есть. CPU называется.

Скоро на GPU вынесут :)))


"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено tmp , 19-Июн-11 15:01 
Вот и приобретают популярность новые способы утилизации лишних мощностей ПК. Ждём очередного  повышения требований к железу для простецких задач.

"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено gegMOPO4 , 19-Июн-11 17:21 
Хуже всего, что лет через пять если такое встретится в коде обычной страницы — никто даже не заметит.

"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено Аноним , 20-Июн-11 06:48 
В Firefox 5 под линуксом жрет от Core i3 350M - 25%, а если подробно - то 100% одного ядра. Нафега он такой нужен?

"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено Иван Иванович Иванов , 20-Июн-11 15:40 
Либо вы врёте, либо вы не умеете читать вывод top.

Покажите вывод top'a при проигрывании.


"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено Avator , 20-Июн-11 09:00 
ИМХО Лучше бы сделали декодер для OGG на JS.
Тогда можно было бы выкладывать ogg для тега аудио, а если браузер старый и не поддерживает этот тег, то js'ом подцеплять. И тогда эта область применения флеша стала бы неактуальной наконец-то.

А вообще, сделали бы это года 3-4 назад, было бы круто, а сейчас в свете наличия HTML5 и быстрого его внедрения уже не так актуально.


"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено Аноним , 21-Июн-11 11:35 
> а если браузер старый и не поддерживает этот тег,

...то он должен сдохнуть, очевидно. Это тот случай когда проще пристрелить чем прокормить.

Hint: у старых браузеров и движок JS тормозной, юзеры этого барахла будут срать кирпичами когда браузер вообразит что наступило военное время и начнет жрать 200% CPU :)


"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено Avator , 22-Июн-11 19:38 
>> а если браузер старый и не поддерживает этот тег,
> ...то он должен сдохнуть, очевидно. Это тот случай когда проще пристрелить чем
> прокормить.
> Hint: у старых браузеров и движок JS тормозной, юзеры этого барахла будут
> срать кирпичами когда браузер вообразит что наступило военное время и начнет
> жрать 200% CPU :)

=))))))))))

да я согласен, только к сожалению не всё так просто. Пользователей IE еще дофига осталось, а это браузер по определению устаревший... даже 9ка....
Да и к тому же 9ку нельзя поставить на Windows XP, а 8ка еще охренительно кривая...


"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено botman , 24-Июл-11 22:21 
> Лучше бы сделали декодер для OGG на JS

встроенную поддержку проигрывания OGG только ССЗБ и не встроили в свои браузеры, смысл его декодировать через JS если он и так декодируется?


"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено Crespo , 20-Июн-11 21:40 
в баню такие технологии, под каждую задачу должны использоваться свои средства. А иначе потом будете удивляться, как это старенькая FreeBSD4 работает с полным GUI окружением и офисным барахлом на Целерончеке в пару сотен MHz без тех фризов и лагов, что на топовых icore7 от таких вот недооптимизированных "инноваций".

"Представлен проект JSMad, с реализацией проигрывателя MP3 на..."
Отправлено botman , 24-Июл-11 22:08 
> предпринят ещё один эксперимент, в результате которого на языке JavaScript был
> написан декодер для файлов MP3.

В том-то и дело что эксперимент. Правда прикольно, но в стабильных сборках Chromium и Opera - не работает. А исправлять в Firefox 5 настройки чтобы скрипты в фоновых вкладках работали быстрее... браузер должен сразу показать то что я хочу, а не то что хотелось-бы посмотреть после прочтения текущей вкладки...

PS: а с географией у авторов сервиса с которого проигрывается музыка явно были проблемы...

WORLD > ASIA > RUSSIAN FEDERATION