В последнее время скорость выполнения 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
Нагрузка на athlon II x2 2.8 Ghz - 30%
CPU@1GHZ?У меня на Sandy Bridge @1.6GHz - 15-17%.
> CPU@1GHZ?
> У меня на Sandy Bridge @1.6GHz - 15-17%.Забыл, что C@Q включенный.
Значит частота не задралась - это были 30% от проца в idle режиме...
В хроме 10-14% нагрузка
Прикольно, но в лисе начинает заикаться, когда на другую вкладку переходишь
У меня не заикается.
Из новшеств в последнем фаерфокс:
>Для неактивных вкладок значение setTimeout и setInterval увеличено с 10 мс до 1000 мс, что позволяет уменьшить негативное влияние скриптов в фоновых вкладках на производительность браузера, за счет уменьшения интенсивности вызова периодических процессов;Получается для вот таких вот плееров оно не подходит?
Поставь 10 в about:config у параметра dom.min_background_timeout_value
Еще бы vorbis и flac сделать. Видеокодек наверное очень сложно будет реализовать :(
> Еще бы vorbis и flac сделать.В принципе возможно, но vorbis уже и так есть в нативном виде во всех нормальных браузерах, так что проц кушает в разы меньше. А FLAC вы качать задолбаетесь (анлимный гигабит к сожалению пока редкость).
> Видеокодек наверное очень сложно будет реализовать :(
Ну он будет жестоко жрать проц. Потому что асм-оптимизации не будет, так что в лучшем случае он сольет нормальным кодекам раза в 3-4, в хучшем - во много-много раз.
>А FLAC вы качать задолбаетесь (анлимный гигабит к сожалению пока редкость).комрад, вы немного обсчитались. анлимный мегабит уже достаточно распространён.
> комрад, вы немного обсчитались. анлимный мегабит уже достаточно распространён.Анлимного мегабита может и не хватить для пихания потока в реальном времени. Кроме того - это для ВАС мегабит, а для сервера - очень даже гигабиты и гигабиты. Вам придется крепко постараться чтобы убедить владельцев серверов раскошелиться.
в FF5 в неактивной вкладке заикается раз в секунду)
> в FF5 в неактивной вкладке заикается раз в секунду)Это так задумано, чтобы неактивные вкладки не роняли работу веб-браузера.
> Это так задумано, чтобы неактивные вкладки не роняли работу веб-браузера.таймаут настраивается в about:config, см. комментарий выше
а отцепить вкладку в отдельное окно не помогает?
Что за новый тренд переписывать всё на js?!
тренд называется хромаяОСь
Задолбали.
Думаю, чтобы пользователям, желающим поработать в интернет, не приходилось ставить что-либо, кроме браузера.Андреас Гал (Andreas Gal) с коллегами из Mozilla разработали первый нормальный движок pdf.js для отображения PDF средствами HTML5/JavaScript (демо - http://people.mozilla.org/~gal/test.html ).
>нормальный
> пользователям, желающим поработать в интернетне «поработать», а ерунду погонять.
не ерунду погонять, а поработать или ерунду погонять
не «поработать или ерунду погонять», а «ерунду погонять».
А лицензию правообладателям на mp3 они оплатили?
А патенты еще не истекли?
> А патенты еще не истекли?Вроде, нет. В сша точно нет, ибо в офф репозиториях федоры декодера мп3 нету.
вот это хороший вопрос. ибо:
>> JSMad позволяет веб-браузеру Mozilla Firefox 4 проигрывать файлы MP3 без использования Adobe Flash. Код также работает и в Google Chrome, начиная с 13 версии, но для работы нужно обязательно включить поддержку Web Audio API. Производительности JavaScript-движка хватает для беспроблемного проигрывания MP3-файлов с битрейтом вплоть до 320KBit/sec. На основе JSMad можно легко создать основанную исключительно на веб-браузере программу по проигрыванию библиотеки музыки в стиле JukeBox.- абсолютно бессмысленно. надо mp3'шек ? связать лису с libmad без всяких жаб напрямую ! а то и весь ffmpeg сразу. но ведь причина, по которой разрабы отказываются, не в библиотеках и реализациях, а в патентах, с которыми при любой реализации поимеют.
> А лицензию правообладателям на mp3 они оплатили?А это будете оплачивать вы, кто на сервер рискнет положить :)
У меня он мало того, что заикается, так еще и проигрывает все с пятикратной скоростью :) все это на активной вкладке. FF5, в abuot:config не лазал.
У меня на FF4 (4.0.1) работает без проблем.Все по дефолту, ничего нигде не менял. Единственное, прерывается при открытии новой вкладки, при переходах между уже открытыми играет без заиканий. Загрузка процессора (Sempron 145:)) - около 40%...
> У меня на FF4 (4.0.1) работает без проблем.Все по дефолту, ничего нигде
> не менял. Единственное, прерывается при открытии новой вкладки, при переходах между
> уже открытыми играет без заиканий. Загрузка процессора (Sempron 145:)) - около
> 40%...C&Q включенный?
Ждемс аппаратный ускоритель JavaScript :)
jit'а вполне хватит.
Дак джит уже во всех популярных движках есть.
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 потом добавили возможности для ООП, а ведь там тоже виртуальная машина).
тогда уж со строгой типизацией. Но язык целевого назначения JS не может быть со стогой типизацией, кодеры от такого охренеют т.к. большинство из них не имеет достаточной квалификации и навыков.
> …т.к. большинство из них не имеет достаточной квалификации и навыков.…чтобы хорошо писать на языке, который не ограничивает программиста со всех сторон искусственными костылями.
Ну спор по поводу что лучше динамическая или статическая типизация идет до сих пор, везде свои плюсы и минусы.
> Flash-плагин содержит обе виртуальные машины (AVM 1 + AVM 2).
> Именно из-за отсутствия типизации в JavaScript - лично я к нему отношусь
> плохо. Невозможен качественный скачок.Есть только одна проблемка: современный JS по скорости рвет ActionScript с жесточайшим отрывом. Это так, о качественных скачках. Пока адоб топтался на месте, JS в процессе рубки фокса и хрома скакнул в разы и разы. Теперь он на современном компьютере запросто позволяет поиграть в DOOM ;)
> Есть только одна проблемка: современный JS по скорости рвет ActionScript с жесточайшим отрывом.Вопросы:
1) При каких операциях (цикл, поиск в массиве, создание объекта, другое)?
2) Какие именно языковые конструкции в этих операциях (дело в том, что например в ActionScript 3 _не использование_ оператора "new" может дать выигрыш в производительности раз в 10)?
3) При какой версии Flash-плагина вы тестировали?
> Теперь он на современном компьютере запросто позволяет поиграть в DOOM ;)
Doom (или Quake, не помню) существует под Flash-виртуально машиной давным-давно (года 4 уже) - еще до всех адобовских улучшений последних лет в плане поддержки GPU вообще и наипоследнейшей поддержки 3D в частности.
> Вопросы:
> 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 надо устанавливать, при том откуда-то сбоку. Что ставит крест на его полезности.
>> Вопросы:
>> 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-плейера.
> По ссылке указано, что, цитата "Основной целью этого было сравнить скорость исполнения
> 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 перенести. А так - посмотрите на тренды. Доля флеша неуклонно падает. Большей части хомячков он был нужен только ради ютуба. Но ютуб нынче работает и без него.
В общем единственное что у флеша есть - хороший формат файла, эффективный, компактный и сжатый. К сожалению, все остальное у них - сплошной геморрой и костыли.
Вообще на Flash многие вещи создавать на порядок проще, чем на JavaScript.Пример - реклама мороженного Magnum. http://pleasurehunt.mymagnum.com/
На флеше программирование тут минимально. Наверное не более 200 строк кода (но можно уложиться и в 70).
;)
особенно "просто" во флеше с удаление объектов :)
> особенно "просто" во флеше с удаление объектов :)Вы хотите рассказать историю, как не правильно программировать под виртуальными машинами? И почему потом проблемы? ;)
Единственная ситуация, которую касается ваш вопрос - это создание и удаления тысяч и десятков тысяч объектов анимации. Не создавайте столько. Представьте, что кто-то тысячами будет пытаться создавать сокеты (или потоки), быстро из удалять и опять создавать.
Используйте типовое решение - пул текущих объектов такой-то подсистемы.
Еще вопросы? :)
>> особенно "просто" во флеше с удаление объектов :)
> Вы хотите рассказать историю, как не правильно программировать под виртуальными машинами?
> И почему потом проблемы? ;)
> Единственная ситуация, которую касается ваш вопрос - это создание и удаления тысяч
> и десятков тысяч объектов анимации. Не создавайте столько. Представьте, что кто-то
> тысячами будет пытаться создавать сокеты (или потоки), быстро из удалять и
> опять создавать.
> Используйте типовое решение - пул текущих объектов такой-то подсистемы.
> Еще вопросы? :)про пул я знаю и использую, тем не менее есть объекты которые невозможно переинициализировать, соответственно повторно использовать.
и вроде бы всё просто, присваиваем указателю null и вперед (ну и ещё пара ньюансов), но профайлер говорит что gc не подобрал его. не критично, но досадно :)
> про пул я знаю и использую, тем не менее есть объекты которые
> невозможно переинициализировать, соответственно повторно использовать.
> и вроде бы всё просто, присваиваем указателю null и вперед (ну и
> ещё пара ньюансов), но профайлер говорит что gc не подобрал его.
> не критично, но досадно :)Данными в объекте являются его поля, типизированные разными типами данными.
Что мешает написать метод init(), который будет вызываться и при переинициализации и, например, еще и при вызове каких-то конструкторов - ?
Мувиклипы можно атачить/детачить, в мувиклипах возможно динамическое рисование.
Все работы хороши, выбирай на вкус. (с)
P.S. Приведите кусочек кода, проясняющий ситуацию (можно очень схематично) или опишите более подробно, что имеете в виду.
>[оверквотинг удален]
>> и вроде бы всё просто, присваиваем указателю null и вперед (ну и
>> ещё пара ньюансов), но профайлер говорит что gc не подобрал его.
>> не критично, но досадно :)
> Данными в объекте являются его поля, типизированные разными типами данными.
> Что мешает написать метод init(), который будет вызываться и при переинициализации и,
> например, еще и при вызове каких-то конструкторов - ?
> Мувиклипы можно атачить/детачить, в мувиклипах возможно динамическое рисование.
> Все работы хороши, выбирай на вкус. (с)
> P.S. Приведите кусочек кода, проясняющий ситуацию (можно очень схематично) или опишите
> более подробно, что имеете в виду.У меня ситуация один раз только была, с Box2D 2.0.1. Там мир инициализируется с определенными размерами и переинициализировать его можно только создав новый мир. Вот я и решил не париться, и просто удалять объект.
Да и дело не в нем (я просто в итоге инициализировал мир очень большой по размеру и забыл про удаление), дело в том, что сама возможность вроде как есть удаления есть , но как она работает мне не понравилось.
Но в принципе может это и изза того что у меня руки к батарее один к одному прилегают.
> сама возможность вроде как есть удаления есть , но как она работает мне не понравилось.Многим не нравится SQL. До дрожи в коленках, до отвращения. Кому-то не нравится ООП. Кому-то не нравятся указатели. Кому-то президент, партия, правительство. ;)
Самое интересное, что почти всегда - просто не хватает какого-то объяснения, проясняющего картину "зачем", увлекающего, и окрашивающего мир в розовые цвета.
Могут уйти годы, пока где-то не прочитаешь то, что станет заветным "кирпичиком", благодаря которому все становится на свои места, обретает целостность и логичность.
Мы или сами управляем процессом познания и отношением к нему, или жизнь управляет нами. :)
> ...присваиваем указателю null и вперед (ну и
> ещё пара ньюансов), но профайлер говорит что gc не подобрал его.
> не критично, но досадно :)GC хорошо работает, если объекты не создавать и не удалять тысячами. В остальном это на усмотрение GC - его работа (как и если бы ручной вызов кода освобождение памяти) - тоже создает нагрузку на систему.
Каждый вызов - это накладные расходы. Проще один раз вызвать для освобождения памяти от 40 объектов, чем 40 раз - для каждого.
GC смотрит на наличие ОЗУ, количество готовых к освобождению объектов, объем занимаемой ими памяти и оценивает - когда лучше всего это сделать.
Конечно иногда кажется, что "вот если бы я вручную, то было то именно то, что мне нужно". Тогда можно написать код на С/С++ и не "косить" на виртуальную машину. :)
Почти всегда есть наиболее лучшие решения и под виртуальную машину, и если ее нет.
> Пример - рекламанафф сказал. ни для чего более это решетo и не пригодно.
> Вообще на Flash многие вещи создавать на порядок проще, чем на JavaScript.Во флеше, извините, надо жрать практически единственный расово верный редактор для авторинга этого барахла. От адобы. За деньги. Только под неудобную мне винду. В то время как на яваскрипте я могу програмить и под линуксом, не платя ни MS ни Adobe, в любом удобном мне редакторе. И я бы не сказал что мне проще и удобнее строиться под адобу и их выкрутасы. Угадаете какой технологии я отдам предпочтение? :)
>> Вообще на Flash многие вещи создавать на порядок проще, чем на JavaScript.
> Во флеше, извините, надо жрать практически единственный расово верный редактор для авторинга
> этого барахла. От адобы. За деньги. Только под неудобную мне винду.
> В то время как на яваскрипте я могу програмить и под
> линуксом, не платя ни MS ни Adobe, в любом удобном мне
> редакторе. И я бы не сказал что мне проще и удобнее
> строиться под адобу и их выкрутасы. Угадаете какой технологии я отдам
> предпочтение? :)Под ActionScript есть как минимум четыре IDE, включая одну вообще бесплатную. Которой многие пользуются.
С другой стороны не заплатить 200-400 USD за, если надо, какую-то другую платную IDE, при типовых окладах в 1200-2200 USD - есть форменное жлобство.
Максимальные же оклады до кризиса были у единиц в Москве, примерно 5000 - 7000 USD, но таких не будем брать, возьмем тех, кого больше всего.
> Есть только одна проблемка: современный JS по скорости рвет ActionScript с жесточайшим отрывом. Это так, о качественных скачках. Пока адоб топтался на месте, JS в процессе рубки фокса и хрома скакнул в разы и разы. Теперь он на современном компьютере запросто позволяет поиграть в DOOM ;)Во флеше - пожалуйста. И заметно круче, чем дум. Живой пример: http://www.tankionline.com/en/
С большим интересом жду ссылку на аналог но на JSе.
> Во флеше - пожалуйста. И заметно круче, чем дум.И чем оно заметно круче? Дум крут в основном тем что может использовать, черт возьми, настоящий, оригинальный WAD файл от дума. А вы сможете схавать на флеше WAD файл в его собственном формате и рендерить оттуда уровни дума с нормальной скоростью?
> JIT более эффективен, когда язык программирования с обязательной типизацией, тогда гораздо
> меньше всяких проверок.ерунда. правильно фраза звучит так: «один из видов JIT…» динамическую параметризацию, фоновые оптимизаторы и много других гитик никто не отменял. строгая типизация хороша для того, чтобы не пропускать явных ляпов, а для JIT совершенно не обязательна (и даже вредна, если хочется писать «generic»-алгоритмы).
> Именно из-за отсутствия типизации в JavaScript — лично я к нему отношусь
> плохо. Невозможен качественный скачок.снова неверно. верно будет так: «я не могу придумать ничего для качественного скачка». а авторы Self в своё время много чего придумали, и ещё даже не всё толком опробовано. кое-что реализовано в V8, но тоже далеко не всё.
> Ждемс аппаратный ускоритель JavaScript :)он уже есть. CPU называется.
> он уже есть. CPU называется.Скоро на GPU вынесут :)))
Вот и приобретают популярность новые способы утилизации лишних мощностей ПК. Ждём очередного повышения требований к железу для простецких задач.
Хуже всего, что лет через пять если такое встретится в коде обычной страницы — никто даже не заметит.
В Firefox 5 под линуксом жрет от Core i3 350M - 25%, а если подробно - то 100% одного ядра. Нафега он такой нужен?
Либо вы врёте, либо вы не умеете читать вывод top.Покажите вывод top'a при проигрывании.
ИМХО Лучше бы сделали декодер для OGG на JS.
Тогда можно было бы выкладывать ogg для тега аудио, а если браузер старый и не поддерживает этот тег, то js'ом подцеплять. И тогда эта область применения флеша стала бы неактуальной наконец-то.А вообще, сделали бы это года 3-4 назад, было бы круто, а сейчас в свете наличия HTML5 и быстрого его внедрения уже не так актуально.
> а если браузер старый и не поддерживает этот тег,...то он должен сдохнуть, очевидно. Это тот случай когда проще пристрелить чем прокормить.
Hint: у старых браузеров и движок JS тормозной, юзеры этого барахла будут срать кирпичами когда браузер вообразит что наступило военное время и начнет жрать 200% CPU :)
>> а если браузер старый и не поддерживает этот тег,
> ...то он должен сдохнуть, очевидно. Это тот случай когда проще пристрелить чем
> прокормить.
> Hint: у старых браузеров и движок JS тормозной, юзеры этого барахла будут
> срать кирпичами когда браузер вообразит что наступило военное время и начнет
> жрать 200% CPU :)=))))))))))
да я согласен, только к сожалению не всё так просто. Пользователей IE еще дофига осталось, а это браузер по определению устаревший... даже 9ка....
Да и к тому же 9ку нельзя поставить на Windows XP, а 8ка еще охренительно кривая...
> Лучше бы сделали декодер для OGG на JSвстроенную поддержку проигрывания OGG только ССЗБ и не встроили в свои браузеры, смысл его декодировать через JS если он и так декодируется?
в баню такие технологии, под каждую задачу должны использоваться свои средства. А иначе потом будете удивляться, как это старенькая FreeBSD4 работает с полным GUI окружением и офисным барахлом на Целерончеке в пару сотен MHz без тех фризов и лагов, что на топовых icore7 от таких вот недооптимизированных "инноваций".
> предпринят ещё один эксперимент, в результате которого на языке JavaScript был
> написан декодер для файлов MP3.В том-то и дело что эксперимент. Правда прикольно, но в стабильных сборках Chromium и Opera - не работает. А исправлять в Firefox 5 настройки чтобы скрипты в фоновых вкладках работали быстрее... браузер должен сразу показать то что я хочу, а не то что хотелось-бы посмотреть после прочтения текущей вкладки...
PS: а с географией у авторов сервиса с которого проигрывается музыка явно были проблемы...
WORLD > ASIA > RUSSIAN FEDERATION