Спасибо участникам речного похода за классно проведенное время!
FlexiPedia Wiki on Adobe Flex
Флэш Потрошитель - Флэш & Флекс, rost[ухо]flash-ripper.comФлэш & Флекс, rost[ухо]flash-ripper.com

Флэш Потрошитель этот | тот | 1.0

С 09.09.2002
  • Наша коллекция багов Flash
  • Ссылки для начинающего аниматора

Поток сознания

Dan ответил на Вакансия: Flex / AS3 Developer в Киеве - $1500-$3000:

Это элементарно, Ватсон. Игра ещё не доделана. Следовательно реклама пока не включена. Следовательно играют в неё пока только девелоперы и их знакомые.

1 час ago

zooflor ответил на Как полностью удалить с компьютера Adobe CS4:

То есть как бы понятно, что чепуха это полная, но какая красивая гипотеза

8 часа ago

Rost ответил на IT Sea 2010. Впечатления.:

Даже самые крупные фотки не передадут настоящего впечателния, там надо быть :)

4 дня ago

kresteleff ответил на IT SEA или Level Up:

За уши притянуть можно что угодно и к чему угодно. Вы, батенька, тролите и делаете это довольна скучно. Всем уже давно понятно, что Вас не устроила гипотеза с пакменом. Что и кому Вы пытаетесь доказать?

6 дня ago

Hooligan ответил на IT SEA или Level Up:

1. Как стать гейм - дизайнером за 1 день. Виталий Хить. Часть 1/2 | Часть 2/2 2. Почему люди играют в игры? Виталий Хить. + Анализ игр разного жанра Часть 1/3 | Часть 2/3 | Часть 3/3 3. Владимир Бабушкин. Новый движок Alternativa 3D 7 Часть 1/2 | Часть 2/2 4. Тренинг по командообразованию Часть 1/1 Остальные добавит Лерика, у нее дозапись остальных дней

6 дня ago

Dan ответил на IT SEA или Level Up:

Опачо! Картинки тоже идут в "Поток сознания" и разрушают красоту.

6 дня ago

Rost ответил на IT Sea 2010. Впечатления.:

Будем рады услышать от тебя еще один классный доклад по Coldfusion, и вообще тебя увидеть :)

6 дня ago

brent1986 ответил на UAFPUG#19 в Одессе - "Культура кода":

Очень хорошая статья спасибо!

6 дня ago

Dan ответил на IT SEA или Level Up:

[quote]Может черкнете статью "Почему нельзя сравнивать ПМ и ТД" [/quote] Сравнивать можно что угодно. И можно найти какие-то общие признаки даже у достаточно далёких предметов. Например, и в реке, и в часах, и в почках могут быть камни. Порой из таких сравнений выходят интересные теории. Но с таким же успехом могут получится и совершенно ошибочные выводы. Гипотеза о происхождении TD из Pac Man - пример такого вот ошибочного вывода. Вот и всё. Я не знаю, почему это вас так глубоко ранит. Может быть потому, что вы спорите не со мной, а с каким-то воображаемым оппонентом. Я не собираюсь выяснять, чьё геймдизайн-фу круче, я никого не называл мудаком, я всего лишь не согласился с одной из озвученных гипотез, на основе собственного опыта игры в Pac Man и в зиллион различных TD, начиная со старкрафтовских.

1 неделя ago

well ответил на IT SEA или Level Up:

Dan, простите за беспокойство. А можно задать Вам глупые вопросы? Что Вы лично предлагаете? Признать "тренинг" "Почему люди играют в игры" полной чепухой, раз такие выводы люди сделали под "просто наваждением"? Ну давайте признаем :), можно было просто пива попить и об жизни поговорить эти пару часов. Мне, т.к. я инициатор данного "тренинга" прекратить "торговать лицом" из-за некомпетентности в данном вопросе? Можно и это организовать :), я уже достаточно "наторговался". Подтвердить что ПМ и ТД - абсолютно разные игры и сходства между ними никакого? Подтверждаю, так же как и подтверждаю то, что суслика в чистом поле тоже не видно :) и то что любые выводы можно считать "красивыми гепотизами" или руководством к действию (кому как нравится). К сожалению подтвердить, что нет корысти от всего этого действа не могу. Во время этого "наваждения" ребята навели меня на пару свежих идей с которых я лично думаю снять 10-20К денег, за что им огромное спасибо и шикарная "поляна" на следующей встрече! Может черкнете статью "Почему нельзя сравнивать ПМ и ТД" или статью со своим взглядом на геймдизайн? Искренне хотелось бы узнать Ваше мнение по этому поводу!

1 неделя ago

Older messages 
Главная › Блоги › Rost's blog

Латентные баги Flash Player: собираем коллекцию уродов

Latent Flash BugsЗа свою более чем десятилетнюю историю Flash Player развился от простенького анимационного движка до универсальной платформы для создания приложений.

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

Вот, например, один из багов-старожилов:

Флэш-проигрыватель наотрез отказывается правильно работать в режиме полной прозрачности, задаваемой через параметр wmode="transparent". Стоит его включить, как появляется целый букет болячек: от резкого падения FPS и производительности (что вполне объяснимо, вед прозрачность тоже считать надо) до вообще необъяснимой невозможности ввода не-латинских символов в режиме прозрачности. Совсем недавно эту проблему в который раз обсудили в ruFlash, снова придя к неутешительному выводу, что воз и ныне там, хоть на дворе уже Flash Player 10. И Adobe не спешит эту ситуацию комментировать.

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

Сюда же можно отнести игнорирование проблемы эхоподавления во Flash Player (баг-273), которое мы уже обсуждали. И здесь мы слышим унылое молчание Adobe.

Собираем товар лицом для демонстрации

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

Предлагаю собрать коллекцию самых латентных и злых багов Flash Player (давайте пока ограничимся этим), а по результатам составить статью или презентацию (берусь составить), где вопрос будет стоять ребром в сторону Adobe, которой просто негоже прикидываться шлангом при таком количестве реальных проблем!

Итак, прошу в комментариях писать о латентных багах:

  1. Описание бага и ссылка на него в Adobe JIRA (если есть).
  2. Как давно существует проблема.
  3. Что по этому поводу говорит Adobe (и говорит ли), и что хотите сказать вы.

Неконструктивные комменты трутся в режиме реального времени, наша цель — добиться реакции Adobe.

Твоя оценка: Нет Средняя: 3 (4 голоса )
  • Rost's blog
Чт, 25/06/2009 - 18:20 — Rost
  • adobe
  • bugs
  • Community
  • feedback
  • flash player
  • Буфер обмена

Найдены баги:

Старый баг флеш плагина под linux. Выбор микрофона для записи недоступен - можно выбрать только один микрофон, при этом если выбран правильный микрофон - то звук воспроизводится не будет.
http://bugs.adobe.com/jira/browse/FP-2100

Вообще корректная поддержка микрофона в Linux - это проблема.
http://bugs.adobe.com/jira/browse/FP-730

Denis (не проверено) 18:48 25/06/09
3

http://bugs.adobe.com/jira/browse/FP-1970
Вредный Sound, приходится изголятся, и получать погрешности, а хотелось бы все четко и культурно...

Nicolas Prof - http://nicolasprof.com 19:56 25/06/09

Window Mode: By default, the Flash Player gets its own hWnd in Windows.
Opaque & Transparent Mode: In windowless modes, Flash Player doesn't have a hWnd.
This means that the browser tells the Flash Player when and where to draw onto the browser's own rendering surface. The Flash movie is no longer being rendered on a higher level if you will. It's right there in the page with the rest of the page elements. The Flash buffer is simply drawn into whatever rectangle the browser says, with any Flash stage space not occupied by objects receiving the movie's background color.

Да и проблемы с windowless mode не только у Flash Player.
К примеру: http://blogs.msdn.com/silverlight_sdk/archive/2008/11/12/limitations-of-...

Ожидаемо ...

FR (не проверено) 20:43 25/06/09

Я хоть и не сверх программист, но за устранение wmode="transparent" я всеми руками и ногами Smile Даже подпишусь на коменты Smile

MaxL (не проверено) 20:52 25/06/09

Кривая работа soundComplete, которая только ухудшается (со времен 9го плеера); косяки в работе pan у NetStream (http://bugs.adobe.com/jira/browse/FP-2044). А 444 ошибка это вообще жесть.

Из мелочей - VerifyError-ы на некоторых сложных конструкциях (в JIRA по VerifyError прилично проблем), Invalid SWF data по неизвестным причинам при компиляции валидного кода во flash ide, плюс куча веселого в AIR, но это уже отдельная история.

7ой плеер имхо был самым лучшим и наименее глючным. Ностальгия практически по нему=)

DL1t_ (не проверено) 22:46 25/06/09

Этот глюк можно отнести к багам ? Smile

2morrowMan - http://flashrush.com 23:03 25/06/09

хехе, я тоже словил это недавно. Просто вынесло мозг, потом аналогично решилось.

DL1t_ (не проверено) 00:21 26/06/09

http://bugs.adobe.com/jira/browse/FP-352
getObjectsUnderPoint работает корректно только от stage. или от дочерних клипов и спрайтов у которых координаты x=у=0;
Если сделать swfку которая использует getObjectsUnderPoint и загрузить её во флекс приложение то можно круто обломаться, получите не верные результаты.
и
http://www.stevensacks.net/2008/08/07/as3-sound-channel-bug/

http://www.stevensacks.net/category/bugs/

CapitanNemo (не проверено) 23:20 25/06/09

Jesse Warden якраз сьогодні написав, що він бачить тут і там ознаки того, що в Flash Player 11 Adobe готує нам new Sound API яке пофіксить b|u|g|s.

http://jessewarden.com/2009/06/flash-player-11-gaming-platform.html

JabbyPanda (не проверено) 00:00 26/06/09

Искажение границ на скруглениях drawRoundRect - баг?

Mitrich 07:32 26/06/09

Порсмотрите graphics.lineStyle. Параметр pixelHinting

Роман (не проверено) 10:23 26/06/09

Это я уже пробовал. Результат не лучше.
Вот сильверлайтовый пример:

Тень мешает, хотя, и так видно, что скругление "ровное".

В любом случае, спасибо за совет.

Mitrich 13:00 26/06/09


var spr:Sprite = new Sprite();
spr.x = 50;
spr.y = 50;
this.addChild(spr);

var g:Graphics = spr.graphics;
var mtx:Matrix = new Matrix();
mtx.createGradientBox(100, 100, 90, 0, 0);
g.beginGradientFill(GradientType.LINEAR, [0xF59E17, 0xF36903], [1, 1], [0x0, 0xFF], mtx);
g.lineStyle();
g.drawRoundRect(0, 0, 110, 60, 18);
g.endFill();

var shadow:DropShadowFilter = new DropShadowFilter(2, 45, 0x0, 0.3, 4, 4);
spr.filters = [shadow];

Нормально вроде получается...
Можно еще протестировать с drawRoundRectComplex()

2morrowMan - http://flashrush.com 13:50 26/06/09

Printing! (the lack of it)
Adobe has started as a printing company. Sadly, it does not refer to Flex.
There are numerous bugs for PrintDataGrid, but Adobe simply does not want to understand the fact, that FP uses multi-pass renderer, and they use only the first pass in their components for measuring the layout. That's why, if you try to print more than one component, the whole thing is got busted.

Mitek (не проверено) 09:05 26/06/09

Ну я вот сказал про FP-273 лично Бену Форте и чего?? Толку 0. даже никто до сих пор не asignee на этот баг, я ему даж письмо написал, он сам попросил... Это такая политика , для нас есть то что важно нам, а для них то, что важно им Smile

Alex (не проверено) 10:45 26/06/09

А с чего вдруг 444 стал багом?

etc (не проверено) 10:51 26/06/09

Ну типа да, согласен что может и не баг. Если вызываете ошибки знач и получаете их. Зачем их сначала вызывать, а потом самому же отлавливать... Smile

2morrowMan - http://flashrush.com 11:52 26/06/09

Давайте назовём это более нейтральным и политкорректным словом issue Smile

Dan 20:52 26/06/09

--дважды кликнул. удалить--

Dan 20:52 26/06/09

Переполнение разрядности при аплоаде файла больше 2-х гиг. FileReference работает нормально, а когда создаются headers то Content-Length получается отрицательным. А руками править Content-Length запрещено.

Reijii - http://reijii.solartxit.com/ 12:32 26/06/09

Супер, спасибо за столь точную формулировку, Дим.

Rost - http://rajaka.net/ 15:00 26/06/09

Немного похожая проблема есть.

Если:
- сервер компрессирует ответ с помощью gzip;
- у пользователя стоит IE6;
- выполняются какие-то ещё неясные условия (лично у меня - при использовании старой версии flash-in-box, но в гугле наталкивался на жалобы и без f-in-b)....
...то flash не может распарсить этот ответ. Говорит: неизвестный тип ответа от сервера.

Dan 20:57 26/06/09

Баг, определения координат,черз методы getBounds/getRect, пустого(нулевых размеров) спрайта/клипа. Почему не правят.

var sp:Sprite = new Sprite();
/*
var g:Graphics = sp.graphics;
g.clear();
g.beginFill(0);
g.drawRect(0, 0, 50, 50);
g.endFill();
*/
addChild(sp);
trace(sp.getBounds(this),"\n",sp.getRect(this));

Aleksey (не проверено) 14:21 26/06/09

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

Video + ContextMenu в котором убрано всё лишнее и сделан линк (navigateToURL) на другой сайт.

всё работает, но если правый клик сделать над Video то откроется ContextMenu а вот линк при левом клике, тоесть другое окно не открывается Smile

не исключаю, что это моя ошибка, но если сделать правый клик не над Video то всё работает как надо.

Artem Brigert - http://www.brigert.com 16:12 26/06/09

Может обработчик клика находится в каком то другом классе и может даже он приватный ? Smile

2morrowMan - http://flashrush.com 16:34 26/06/09

не ... всё там где надо находится, в это и проблема.
EventListener цепляется к ContextMenuItem и само ContextMenu открывается, не работает линк, вот в чём траблы

Artem Brigert - http://www.brigert.com 16:50 26/06/09

У меня тоже такое было. Вешал ContextMenu только на документ-класс и при клике на каких-то объектах(не видео) переход по клику на итеме не работал.

2morrowMan - http://flashrush.com 17:01 26/06/09

ну и у меня так, висит на документ-классе.

Artem Brigert - http://www.brigert.com 17:03 26/06/09

Баг №1.
При попытке отправить ByteArray через ExternalInterface получим эксепшн внутри этого самого ExternalInterface.
А всё из-за проклятых индусов. В коде ExternalInterface есть примерно такое место:
if (param1.hasOwnProperty("length")) {
return _arrayToXML(param1);
} else {
return _objectToXML(param1);
}

Объекты ByteArray, разумеется, имеют свойство length, но вот когда их пытаются привести к Array возникает invalid coerce.

Баг №2.
Метод Vector.map() всегда возвращает null.

Dan 21:09 26/06/09

В линуксе при вводе в TextInput бъется кодировка, баг FP-40. Это не связано с wmode="transparent", это отдельная тема. И несмотря на то что в линуксе локаль настроена на UTF-8. Текстовые поля в браузере работают нормально. В TextInput кириллицу можно вставить только из буфера. Баг дискриминирует всех не-англоязычных пользователей линукс.

Sanych (не проверено) 20:21 28/06/09

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

DataGreed (не проверено) 18:29 12/07/09

не очень древний баг, портящий жизнь 3д движкам
http://bugs.adobe.com/jira/browse/FP-249

makc (не проверено) 10:07 01/07/09

Проголосовал за 249, портящий жизнь 3D-движкам во флэше.

Rost - http://rajaka.net/ 13:29 02/07/09

мне чет кажется что голосовать за баги так же эффективно как и на украинских выборах

makc (не проверено) 13:36 02/07/09

И все же, я вижу плюсы в голосовании:

  • Голос в сети - это материальная единица информации, на которую кто-то потратил личное время, чтобы создать ее. Чем больше таких единиц - тем весомее их сумма. В результате, если их становится достаточно много, вес достигает критического значения, которое уже можно реально использовать, например, в обзорной статье о злейших багах и о том, что адоб молчит аки рыба об лед. И подготовкой к написанию такой статьи яляется этот пост, мы как бы собираем материал.
  • Ты заносишь баг в список своих "любимчиков", и уже не потеряешь его, если захочешь узнать его судьбу.
Rost - http://rajaka.net/ 16:30 02/07/09

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

к примеру сегодня игрался вот с этим, и при достаточном количестве точек наблюдал сей баг:

http://img3.imageshack.us/img3/1581/linetohi.jpg
http://img198.imageshack.us/img198/5082/linetomed.jpg

makc (не проверено) 19:19 01/07/09

Однозначно: старый, увесистый бажара.

Rost - http://rajaka.net/ 13:27 02/07/09

Вторая картинка – не баг. Это так себя ведёт полином Лагранжа =)
Он ведь обязан совпадать с дискретно заданной функцией только в узловых точках.
Первая картинка тоже вряд ли может считаться глюком – в данном случае, скорее всего, в силу поведения полинома плееру была дана команда отрисовать огромной длинны линию, а в этом случае и получается то, что на скрине. Хотя да, это уже глюк... но он был с тех пор, как во флеше появилось программное рисование, а то и раньше.

Семён (не проверено) 04:38 02/07/09

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

Rost - http://rajaka.net/ 13:27 02/07/09

Сорри, теперь понял, что имелось в виду. Надо же, а я даже не подозревал, что на среднем качестве бага исчезает. Интересно...

Семён (не проверено) 04:43 02/07/09

можно потереть этот коммент, но ...
меня бесит когда мы визуальный объект visible = false, а свойство width его родителя все равно продолжает учитывать ширину скрытого потомка, как-то нелогично по-моему и тупо.

SmivaL - http://smival.com/ 19:41 02/07/09

Нет, это не тупо — это правильно.
Тупо это когда visible = false, а объект продолжает перерисовываться(хотя и невидим)!

2morrowMan - http://flashrush.com 10:05 03/07/09

согласен по перерисовке.

SmivaL - http://smival.com/ 10:19 03/07/09
3

1. SoundMixer.computeSpectrum пытается собрать данные не только для вызывающей его SWF, а для всех открытых SWF в системе, что приводит к SecurityError - http ://bugs.adobe.com/jira/browse/FP-147 (не пропускает ссылки твой спам-фильтр, Рост)
2. С моменты выхода 10-го плеера
3. Это полностью и на корню убивает идею пользоваться этим методом для чего бы то ни было. Хотели сделать визуализацию неотъемлимой частью Вашего плеера? Забудьте - пользователь откроет ютуб или какую-либо другую вкладку с флешкой, использующей SoundMixer.computeSpectrum - и вся магия исчезнет.

DataGreed (не проверено) 18:14 12/07/09

http://bugs.adobe.com/jira/browse/FP-147
во, вроде нормально

DataGreed (не проверено) 18:31 12/07/09
Примечания: Статус документа => в процессе ·
Статьи · Идеальный клип · Персоналии · Глоссарий (уст.) · Что делать? · К началу ↑
© 2002-2009 Ростиславр · О проекте · Подписка на новости (RSS) · α-тестировани невероятного
What is OpenID?
  • Зайти по OpenID
  • Cancel OpenID login
  • Зарегистрироваться
  • Запросить новый пароль
Подробнее о сервисе Zingaya.
]]>


]]>
]]>
Flash Ripper RSS Feed
]]>
]]> Подписаться на RSS ]]>