Почему Adobe Flash такое тормозное гавно?

lincovva

Сабж.
Есть какие-нибудь предположения, почему правый клик по окну с flash-плеером заставляет систему встать на дыбы?
И наступит ли когда-нибудь такой день, что железо будет эволюционировать быстрее требований Адоби?

bestpilot8

Сабж.
Есть какие-нибудь предположения, почему правый клик по окну с flash-плеером заставляет систему встать на дыбы?
И наступит ли когда-нибудь такой день, что железо будет эволюционировать быстрее требований Адоби?
Железу не нужно эволюционировать, это должен сделать пользователь: нет флеша — нет проблемы. :)

Troyn09

это рандом, разные версии ведут себя по разному
еще они криво ставятся

lincovva

Железу не нужно эволюционировать, это должен сделать пользователь: нет флеша — нет проблемы. :)

Года полтора назад пытался отказаться от его использования по-максимуму. Тогда это казалось достижимым: FlashBlock, GreaseMonkey, etc. Тогда казалось, что две трети Сети отлично без него обходятся, а оставшаяся треть постепенно эволюционирует. Хер — ублюдочное поделие Макромедии не только не сдаёт позиции, но даже распространяется. Сейчас махнул рукой и просто грустно смотрю, как вершина прогресса — i7-4790K — унижается от одного-единственного окошка видео на Фейсбуке :(

lincovva

это рандом, разные версии ведут себя по разному
еще они криво ставятся
После (кажется) девятой — все такие.

Troyn09

i7-4790K — унижается от одного-единственного окошка видео на Фейсбуке :(
давай ссылку, затестим

uncle17

точн
Пока не дома - затестим на 3517U

tashka

Надо признать что и сам фейсбук стал как помойка.

apl13

Надо так:
надо признать, что и сам фейсбук.

bestpilot8

Сейчас махнул рукой и просто грустно смотрю, как вершина прогресса — i7-4790K — унижается от одного-единственного окошка видео на Фейсбуке
На моём айфоне видео с фейсбука отлично проигрывается. Подозреваю, ты как-то не до конца настроил браузер.
За 10 секунд нашёл простой хак: если в ссылку на видео вместо www.facebook.com вписать m.facebook.com, то сайт вернёт html5-видео. Наверняка есть и более удобные решения.

lincovva

На моём айфоне видео с фейсбука отлично проигрывается. Подозреваю, ты как-то не до конца настроил браузер.
Нет, оно проигрывается нормально, пока правой кнопкой контекстное меню не вызовешь. После этого возникают либо тормоза, либо вообще затык и подвисший браузер.
Браузер — Firefox 39 без каких-то особых настроек.

bestpilot8

Нет, оно проигрывается нормально, пока правой кнопкой контекстное меню не вызовешь. После этого возникают либо тормоза, либо вообще затык и подвисший браузер.
Браузер — Firefox 39 без каких-то особых настроек.
Имхо, ничего не мешает попробовать html5.

lincovva

Меня не волнует вопрос html5! Меня волнует сабж! :)

bestpilot8

Меня не волнует вопрос html5! Меня волнует сабж!
Тогда корчись! :D Флеш будет тормозить, пока не сдохнет окончательно. :)

YUAL

помнится у меня на предыдущей работе была админка на флэше. она тупила и тормозила и все ругались. но потом её переписали на javascript и тормозить она стала больше и при этом начала забирать с собой браузер (флэш тупил в отдельном процессе)

Filan

помнится у меня на предыдущей работе была админка на флэше. она тупила и тормозила и все ругались. но потом её переписали на javascript и тормозить она стала больше и при этом начала забирать с собой браузер (флэш тупил в отдельном процессе)
Вывод: говнокоду подвластны все яп/фреймфорки/технологии/платформы!

durka82

Вывод: говнокоду подвластны все яп/фреймфорки/технологии/платформы!
Вот-вот :(
Флэш, к сожалению, позволяет сожрать любые подвластные ресурсы, притом, что позволяет писать очень сложные замечательные вещи.
Но политика сначала Макромедии, а теперь и Адоба к сожалению отводит флэшу лишь роль рекламных свистоперделок.

svetaslav212

ХЗ, чо там у тебя. У меня наоборот — HTML5 видео на ютубчике в Хроме тормозит до видимого рассинхрона звука и картинки, флешовое же в Фаерфоксе идет абсолютно нормально.

YUAL

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

durka82

Так в том то и дело, что на флэше это сделать проще простого: практически неограниченное количество параллельно исполняемых циклов, например, делается без каких либо знаний о параллельном программировании :grin:
Собственно, если бы такие вещи поставили бы под контроль, то это было бы как раз плюсом, ибо этот же самый фактор позволяет накидывать (в том числе в динамике) сложные интерфейсы практически на коленке :cool:

PooH

ХЗ, чо там у тебя. У меня наоборот — HTML5 видео на ютубчике в Хроме тормозит до видимого рассинхрона звука и картинки
это потому что гугл продвигает свой говноформат vp8, который не поддерживается аппаратным декодированием

dangerr

Наговнокодить можно конечно на любом языке. Но на некоторых почему-то тормозное поделие получается чаще чем на других.
Это, кстати, в общем случае зависит не только от языка, но и от социального портрета среднего программиста на нём. Флеш очень мало кто считает за серьёзное программирование, а всё больше для баннеров и графики, поэтому и кодить на нём мало кто умеет. JS, конечно, тоже сильно серёзным не считается, но в сравнении с флеш...

durka82

Я подозреваю, что и инструментов нет, позволяющих подноценно отследить утечки во флэш.

kill-still

Эээ а он когда-то был труЪ?

dangerr

Я подозреваю, что и инструментов нет, позволяющих подноценно отследить утечки во флэш.
Утечки в стиле C/C++ там невозможны, потому что есть GC, как в Java. А вообще есть полноценные дебагер и профайлер. Так что либо я не понимаю о какого рода утечках и инструментах ты говоришь, либо твои подозрения не оправданы.

durka82

Просто на момент, когда я этим ещё занимался, нормального профайлера ещё не было.
А вообще я про следующее: делаешь мувиклип с зацикленным скриптом, а потом размножаешь его, пока комп не начинает тормозить - профит.
И кстати да, совершенно не уверен, что типичные программисты на флэш знают про профайлер и дебагер - всё таки технически сложные проекты на флэш в массы как-то не пошли (по крайней мере я не могу навскидку назвать ничего массового), поэтому подозреваю, что ныне флэш-программист скорее дополнение к флэш-дизайнеру.
А когда есть плохо контролируемая технология в руках программиста-любителя - наворочать можно легко и много.
Я уже молчу про гибкость самого JS, которому можно перегрузить какой-нибудь часто используемый метод для корневого класса блэкджеком и шлюхами с не менее тормозным результатом :grin:

dangerr

Просто на момент, когда я этим ещё занимался, нормального профайлера ещё не было.
А вообще я про следующее: делаешь мувиклип с зацикленным скриптом, а потом размножаешь его, пока комп не начинает тормозить - профит.
Ну, кстати, насчёт профайлера я не уверен есть ли он в среде Flash Professional. Во Flash Builder (который плагин к Eclipse) точно есть, правда в самой дорогой редакции, которая отличается как раз только наличием самого профайлера (инфа может быть устаревшей).
Ну и такой мувиклип тоже во Flash Builder не сделаешь.
всё таки технически сложные проекты на флэш в массы как-то не пошли
Игры вполне пошли.

durka82

Игры вполне пошли.
Ну в играх куча кода вполне себе переносима, а остальное либо перемещение нескольких объектов на фоне, либо вообще что-то вроде попиксельной отрисовки (то есть по сути вообще код игрушки переносится на флэш близко к оригиналу - код на С на JS должен более-менее 1 в 1 переноситься).

durka82

Утечки в стиле C/C++ там невозможны
У флэша разве сделали ограничение по объёму используемой оперативной памяти на клиенте?

istran

На моём айфоне видео с фейсбука отлично проигрывается. Подозреваю, ты как-то не до конца настроил браузер.
За 10 секунд нашёл простой хак: если в ссылку на видео вместо www.facebook.com вписать m.facebook.com, то сайт вернёт html5-видео. Наверняка есть и более удобные решения.
У меня в Chrome отключен Flash. Десктопный Facebook это как-то определяет и выдает HTML 5 версию сам.

dangerr

Ну в играх куча кода вполне себе переносима, а остальное либо перемещение нескольких объектов на фоне, либо вообще что-то вроде попиксельной отрисовки (то есть по сути вообще код игрушки переносится на флэш близко к оригиналу - код на С на JS должен более-менее 1 в 1 переноситься).
Во-первых, непонятно причём здесь переносимость. Я говорил о сетевых играх с клиентом изначально написанным на флеш.
Во-вторых, я не уверен насчёт JS, но по сравнению с С и большинством других языков во флеше нет потоков, а скрипт работает в перерывах между отрисовками кадров по событию OnFrame. И, насколько я понимаю, такой абстракции, как мувиклипы, обычно тоже не встречается. О какой переносимости близко к оригиналу тут тогда может идти речь?

dangerr

У флэша разве сделали ограничение по объёму используемой оперативной памяти на клиенте?
Вроде, нет ограничения. Какое это имеет отношение к утечкам в стиле С/С++, под которыми я подразумеваю неосвобождённую память?

Dasar

Какое это имеет отношение к утечкам в стиле С/С++, под которыми я подразумеваю неосвобождённую память?
Утечки бывают трех типов:
1. на объект никто не ссылается
2. на группу объектов никто не ссылается, объекты ссылаются друг на друга
3. объект по факту не используется, но на него где-то осталась ссылка
1-ый тип утечек бывает при прямом выделении памяти, но не бывает при использовании GC или при тотальном использовании smart-pointer-ов
2-ой тип утечек бывает при прямом выделении памяти и в системах, где используется контроль памяти на основе ref-count-ссылок, но не бывает в языках с tracing GC
3-ий тип утечек бывает во всех языках
С точки зрения пользователя все эти утечки одинаковы и проявляются одинаковым образом:
приложение потребляет всё больше и больше памяти без явных на то оснований.

dangerr

Утечки бывают трех типов:
1. на объект никто не ссылается
2. на группу объектов никто не ссылается, объекты ссылаются друг на друга
3. объект по факту не используется, но на него где-то осталась ссылка
1-ый тип утечек бывает при прямом выделении памяти, но не бывает при использовании GC или при тотальном использовании smart-pointer-ов
2-ой тип утечек бывает при прямом выделении памяти и в системах, где используется контроль памяти на основе ref-count-ссылок, но не бывает в языках с tracing GC
3-ий тип утечек бывает во всех языках
С точки зрения пользователя все эти утечки одинаковы и проявляются одинаковым образом:
 приложение потребляет всё больше и больше памяти без явных на то оснований.
Тут вопрос терминологический (то есть бессмысленный). Под "утечками в стиле С/С++ я подразумевал то, что ты обозначил как 1 и 2 тип. Такого рода утечки могут вызваны только ошибками в самом плеере. В общем, в плане утечек флеш если не абсолютно, то практически подобен, например, Java.

Dasar

3-ий тип утечек - это бич GUI-евых приложений, особенно при event-driven подходе. Это ниша Flash-а. Такой тип утечек не лечится без развитых инструментов профилирования памяти и высокого профессионализма (имхо, у Flash и с тем, и с другим дела обстоят не важно)

durka82

а скрипт работает в перерывах между отрисовками кадров по событию OnFrame
...
В общем, в плане утечек флеш если не абсолютно, то практически подобен, например, Java.
Подобен да не подобен.
Вот таких вот скриптов во флэше может быть тьма, и каждый из них может развивать бурную деятельность (включая загрузку других флэш-роликов).
А сама концепция флэша такова, что если вы не хотите рисовать всё руками, а хотите переложить как можно больше работы на программную часть флэша, ролик будет стремиться в высокому уровню вложенности.
И в любой (в том числе во всех) точке этого гигантского дерева у вас может быть скрипт, старающийся внести свой вклад в дело поиска внеземных цивилизаций, например (ну или качающих тайно порнуху).
Именно это позволяет создавать ролики, которые без видимого результата могут подвешивать любой комп.
И если в случае игрушки (тем более онлайн, которая деньги приносит) - она зачастую запускается без конкурентов - торможение будет приводить к прямым убыткам, то просто в браузере этих роликов может быть много (особенно у любителей открывать кучу вкладок) и выявить истинного виновника может быть не так просто.
Собственно наличие на клиенте ограничений по процу/памяти имхо как раз вполне бы способствовало к дисциплинированнию разработчиков.

Werdna

Сейчас махнул рукой и просто грустно смотрю, как вершина прогресса — i7-4790K — унижается от одного-единственного окошка видео на Фейсбуке
Эволюционируй, не пялься в видео в фб.
Там нет достойных видео, а если редкое что-то и появляется, то оно либо Ютуб, либо оставляй камент, что фб-шное видео нельзя просмотреть.
У меня нет быдлофлеша. Иногда, очень редко, запускаю отдельный браузер с быдлофлешем, специально для этого говна.
Убунта 14.04, ноуту 3 года, всё работает без тормозов.
Оставить комментарий
Имя или ник:
Комментарий: