Почему Adobe Flash такое тормозное гавно?
Сабж.Железу не нужно эволюционировать, это должен сделать пользователь: нет флеша — нет проблемы.
Есть какие-нибудь предположения, почему правый клик по окну с flash-плеером заставляет систему встать на дыбы?
И наступит ли когда-нибудь такой день, что железо будет эволюционировать быстрее требований Адоби?
еще они криво ставятся
Железу не нужно эволюционировать, это должен сделать пользователь: нет флеша — нет проблемы.
Года полтора назад пытался отказаться от его использования по-максимуму. Тогда это казалось достижимым: FlashBlock, GreaseMonkey, etc. Тогда казалось, что две трети Сети отлично без него обходятся, а оставшаяся треть постепенно эволюционирует. Хер — ублюдочное поделие Макромедии не только не сдаёт позиции, но даже распространяется. Сейчас махнул рукой и просто грустно смотрю, как вершина прогресса — i7-4790K — унижается от одного-единственного окошка видео на Фейсбуке
это рандом, разные версии ведут себя по разномуПосле (кажется) девятой — все такие.
еще они криво ставятся
i7-4790K — унижается от одного-единственного окошка видео на Фейсбукедавай ссылку, затестим
Пока не дома - затестим на 3517U
Надо признать что и сам фейсбук стал как помойка.
надо признать, что и сам фейсбук.
Сейчас махнул рукой и просто грустно смотрю, как вершина прогресса — i7-4790K — унижается от одного-единственного окошка видео на ФейсбукеНа моём айфоне видео с фейсбука отлично проигрывается. Подозреваю, ты как-то не до конца настроил браузер.
За 10 секунд нашёл простой хак: если в ссылку на видео вместо www.facebook.com вписать m.facebook.com, то сайт вернёт html5-видео. Наверняка есть и более удобные решения.
На моём айфоне видео с фейсбука отлично проигрывается. Подозреваю, ты как-то не до конца настроил браузер.Нет, оно проигрывается нормально, пока правой кнопкой контекстное меню не вызовешь. После этого возникают либо тормоза, либо вообще затык и подвисший браузер.
Браузер — Firefox 39 без каких-то особых настроек.
Нет, оно проигрывается нормально, пока правой кнопкой контекстное меню не вызовешь. После этого возникают либо тормоза, либо вообще затык и подвисший браузер.Имхо, ничего не мешает попробовать html5.
Браузер — Firefox 39 без каких-то особых настроек.
Меня не волнует вопрос html5! Меня волнует сабж!
Меня не волнует вопрос html5! Меня волнует сабж!Тогда корчись! Флеш будет тормозить, пока не сдохнет окончательно.
помнится у меня на предыдущей работе была админка на флэше. она тупила и тормозила и все ругались. но потом её переписали на javascript и тормозить она стала больше и при этом начала забирать с собой браузер (флэш тупил в отдельном процессе)
помнится у меня на предыдущей работе была админка на флэше. она тупила и тормозила и все ругались. но потом её переписали на javascript и тормозить она стала больше и при этом начала забирать с собой браузер (флэш тупил в отдельном процессе)Вывод: говнокоду подвластны все яп/фреймфорки/технологии/платформы!
Вывод: говнокоду подвластны все яп/фреймфорки/технологии/платформы!Вот-вот
Флэш, к сожалению, позволяет сожрать любые подвластные ресурсы, притом, что позволяет писать очень сложные замечательные вещи.
Но политика сначала Макромедии, а теперь и Адоба к сожалению отводит флэшу лишь роль рекламных свистоперделок.
ХЗ, чо там у тебя. У меня наоборот — HTML5 видео на ютубчике в Хроме тормозит до видимого рассинхрона звука и картинки, флешовое же в Фаерфоксе идет абсолютно нормально.
Наговнокодить можно конечно на любом языке. Но на некоторых почему-то тормозное поделие получается чаще чем на других.
Собственно, если бы такие вещи поставили бы под контроль, то это было бы как раз плюсом, ибо этот же самый фактор позволяет накидывать (в том числе в динамике) сложные интерфейсы практически на коленке
ХЗ, чо там у тебя. У меня наоборот — HTML5 видео на ютубчике в Хроме тормозит до видимого рассинхрона звука и картинкиэто потому что гугл продвигает свой говноформат vp8, который не поддерживается аппаратным декодированием
Наговнокодить можно конечно на любом языке. Но на некоторых почему-то тормозное поделие получается чаще чем на других.Это, кстати, в общем случае зависит не только от языка, но и от социального портрета среднего программиста на нём. Флеш очень мало кто считает за серьёзное программирование, а всё больше для баннеров и графики, поэтому и кодить на нём мало кто умеет. JS, конечно, тоже сильно серёзным не считается, но в сравнении с флеш...
Я подозреваю, что и инструментов нет, позволяющих подноценно отследить утечки во флэш.
Эээ а он когда-то был труЪ?
Я подозреваю, что и инструментов нет, позволяющих подноценно отследить утечки во флэш.Утечки в стиле C/C++ там невозможны, потому что есть GC, как в Java. А вообще есть полноценные дебагер и профайлер. Так что либо я не понимаю о какого рода утечках и инструментах ты говоришь, либо твои подозрения не оправданы.
А вообще я про следующее: делаешь мувиклип с зацикленным скриптом, а потом размножаешь его, пока комп не начинает тормозить - профит.
И кстати да, совершенно не уверен, что типичные программисты на флэш знают про профайлер и дебагер - всё таки технически сложные проекты на флэш в массы как-то не пошли (по крайней мере я не могу навскидку назвать ничего массового), поэтому подозреваю, что ныне флэш-программист скорее дополнение к флэш-дизайнеру.
А когда есть плохо контролируемая технология в руках программиста-любителя - наворочать можно легко и много.
Я уже молчу про гибкость самого JS, которому можно перегрузить какой-нибудь часто используемый метод для корневого класса блэкджеком и шлюхами с не менее тормозным результатом
Просто на момент, когда я этим ещё занимался, нормального профайлера ещё не было.Ну, кстати, насчёт профайлера я не уверен есть ли он в среде Flash Professional. Во Flash Builder (который плагин к Eclipse) точно есть, правда в самой дорогой редакции, которая отличается как раз только наличием самого профайлера (инфа может быть устаревшей).
А вообще я про следующее: делаешь мувиклип с зацикленным скриптом, а потом размножаешь его, пока комп не начинает тормозить - профит.
Ну и такой мувиклип тоже во Flash Builder не сделаешь.
всё таки технически сложные проекты на флэш в массы как-то не пошлиИгры вполне пошли.
Игры вполне пошли.Ну в играх куча кода вполне себе переносима, а остальное либо перемещение нескольких объектов на фоне, либо вообще что-то вроде попиксельной отрисовки (то есть по сути вообще код игрушки переносится на флэш близко к оригиналу - код на С на JS должен более-менее 1 в 1 переноситься).
Утечки в стиле C/C++ там невозможныУ флэша разве сделали ограничение по объёму используемой оперативной памяти на клиенте?
На моём айфоне видео с фейсбука отлично проигрывается. Подозреваю, ты как-то не до конца настроил браузер.У меня в Chrome отключен Flash. Десктопный Facebook это как-то определяет и выдает HTML 5 версию сам.
За 10 секунд нашёл простой хак: если в ссылку на видео вместо www.facebook.com вписать m.facebook.com, то сайт вернёт html5-видео. Наверняка есть и более удобные решения.
Ну в играх куча кода вполне себе переносима, а остальное либо перемещение нескольких объектов на фоне, либо вообще что-то вроде попиксельной отрисовки (то есть по сути вообще код игрушки переносится на флэш близко к оригиналу - код на С на JS должен более-менее 1 в 1 переноситься).Во-первых, непонятно причём здесь переносимость. Я говорил о сетевых играх с клиентом изначально написанным на флеш.
Во-вторых, я не уверен насчёт JS, но по сравнению с С и большинством других языков во флеше нет потоков, а скрипт работает в перерывах между отрисовками кадров по событию OnFrame. И, насколько я понимаю, такой абстракции, как мувиклипы, обычно тоже не встречается. О какой переносимости близко к оригиналу тут тогда может идти речь?
У флэша разве сделали ограничение по объёму используемой оперативной памяти на клиенте?Вроде, нет ограничения. Какое это имеет отношение к утечкам в стиле С/С++, под которыми я подразумеваю неосвобождённую память?
Какое это имеет отношение к утечкам в стиле С/С++, под которыми я подразумеваю неосвобождённую память?Утечки бывают трех типов:
1. на объект никто не ссылается
2. на группу объектов никто не ссылается, объекты ссылаются друг на друга
3. объект по факту не используется, но на него где-то осталась ссылка
1-ый тип утечек бывает при прямом выделении памяти, но не бывает при использовании GC или при тотальном использовании smart-pointer-ов
2-ой тип утечек бывает при прямом выделении памяти и в системах, где используется контроль памяти на основе ref-count-ссылок, но не бывает в языках с tracing GC
3-ий тип утечек бывает во всех языках
С точки зрения пользователя все эти утечки одинаковы и проявляются одинаковым образом:
приложение потребляет всё больше и больше памяти без явных на то оснований.
Утечки бывают трех типов:Тут вопрос терминологический (то есть бессмысленный). Под "утечками в стиле С/С++ я подразумевал то, что ты обозначил как 1 и 2 тип. Такого рода утечки могут вызваны только ошибками в самом плеере. В общем, в плане утечек флеш если не абсолютно, то практически подобен, например, Java.
1. на объект никто не ссылается
2. на группу объектов никто не ссылается, объекты ссылаются друг на друга
3. объект по факту не используется, но на него где-то осталась ссылка
1-ый тип утечек бывает при прямом выделении памяти, но не бывает при использовании GC или при тотальном использовании smart-pointer-ов
2-ой тип утечек бывает при прямом выделении памяти и в системах, где используется контроль памяти на основе ref-count-ссылок, но не бывает в языках с tracing GC
3-ий тип утечек бывает во всех языках
С точки зрения пользователя все эти утечки одинаковы и проявляются одинаковым образом:
приложение потребляет всё больше и больше памяти без явных на то оснований.
3-ий тип утечек - это бич GUI-евых приложений, особенно при event-driven подходе. Это ниша Flash-а. Такой тип утечек не лечится без развитых инструментов профилирования памяти и высокого профессионализма (имхо, у Flash и с тем, и с другим дела обстоят не важно)
а скрипт работает в перерывах между отрисовками кадров по событию OnFrameПодобен да не подобен.
...
В общем, в плане утечек флеш если не абсолютно, то практически подобен, например, Java.
Вот таких вот скриптов во флэше может быть тьма, и каждый из них может развивать бурную деятельность (включая загрузку других флэш-роликов).
А сама концепция флэша такова, что если вы не хотите рисовать всё руками, а хотите переложить как можно больше работы на программную часть флэша, ролик будет стремиться в высокому уровню вложенности.
И в любой (в том числе во всех) точке этого гигантского дерева у вас может быть скрипт, старающийся внести свой вклад в дело поиска внеземных цивилизаций, например (ну или качающих тайно порнуху).
Именно это позволяет создавать ролики, которые без видимого результата могут подвешивать любой комп.
И если в случае игрушки (тем более онлайн, которая деньги приносит) - она зачастую запускается без конкурентов - торможение будет приводить к прямым убыткам, то просто в браузере этих роликов может быть много (особенно у любителей открывать кучу вкладок) и выявить истинного виновника может быть не так просто.
Собственно наличие на клиенте ограничений по процу/памяти имхо как раз вполне бы способствовало к дисциплинированнию разработчиков.
Сейчас махнул рукой и просто грустно смотрю, как вершина прогресса — i7-4790K — унижается от одного-единственного окошка видео на ФейсбукеЭволюционируй, не пялься в видео в фб.
Там нет достойных видео, а если редкое что-то и появляется, то оно либо Ютуб, либо оставляй камент, что фб-шное видео нельзя просмотреть.
У меня нет быдлофлеша. Иногда, очень редко, запускаю отдельный браузер с быдлофлешем, специально для этого говна.
Убунта 14.04, ноуту 3 года, всё работает без тормозов.
Оставить комментарий
lincovva
Сабж.Есть какие-нибудь предположения, почему правый клик по окну с flash-плеером заставляет систему встать на дыбы?
И наступит ли когда-нибудь такой день, что железо будет эволюционировать быстрее требований Адоби?