Ограничения iPad на Canvas Tag; Сбои веб-страницы при анимации тега Canvas - PullRequest
2 голосов
/ 04 мая 2011

Кто-нибудь знает, есть ли у iPad какие-либо ограничения на тег canvas?

В настоящее время я работаю над креативом, который использует комбинацию флипбука и аудиометки для имитации встроенного видеоконтента.Анимации отрисовываются в элементе canvas и синхронизируются с воспроизводимым аудиоконтентом.Есть 4 коротких видеоклипа, которые воспроизводятся, когда кто-то нажимает на четыре кнопки ниже.

http://cs.sandbox.millennialmedia.com/~tkirchner/rich/K/kungfupanda2_test/

Проблема, с которой я столкнулся, заключается в iPad.После воспроизведения нескольких анимаций мобильное сафари просто внезапно падает.Это никогда не происходит, когда я играю на своем iPhone, но это происходит каждый раз на iPad.Это не одна конкретная анимация, потому что, если я нажму другую комбинацию кнопок, предыдущий клип, на котором он потерпел неудачу, будет воспроизводиться нормально, а затем решит, что он потерпит крах на другом клипе.

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

http://roblaplaca.com/blog/2010/05/05/ipad-safari-image-limit-workaround/

Согласно этому сообщению, когда мобильный Safari достигает определенного порога памяти, изображения начинают возвращаться пустыми.Это согласуется с моими находками до сих пор.IPad, на котором я все это тестирую, работает под управлением iOS 3.2.1 (и прежде чем кто-либо скажет мне, что я должен просто объяснить своему боссу, что никто больше не использует 3.X, я попытался ... они все еще хотят, чтобы я исследовал это).Я позаимствовал iPad для iPad под управлением iOS 4.2.1, и это устройство не сломалось, но некоторые изображения не были нарисованы на холсте.

Я почти уверен, что это тоже проблема с тэгом canvas, потому что я пытался поэкспериментировать с запуском анимации, не рисуя ничего на элементе canvas, и страница никогда не падала.

Вот почемуЯ думаю, возможно, это ограничение поддержки Safari тега canvas.Конечно, я открыт для любых предложений.

1 Ответ

1 голос
/ 08 августа 2011

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

Я считаю, что моя первоначальная гипотеза была верна.Общее количество изображений, которые использовали анимирования, было около 600+.Я думаю, что старый iPad загружался столько, сколько мог, а затем, когда у него кончился кэш, и тег canvas пытался нарисовать изображения, которых на самом деле больше не было, он упал.

В конце концов мы закончили обслуживатьреклама на устройствах с iOS 4.2 и выше, поскольку, похоже, проблема не возникала на этих новых устройствах.Кроме того, мы еще больше сжимали размеры изображений, что помогло уменьшить количество изображений, которые мы храним в памяти.

Если кто-нибудь приблизительно знает, каков порог кэша в браузерах iOS 4.2 или выше, я был бы признателенесли вы прокомментировали.Просто хочу получить представление о том, сколько КБ данных изображения я могу безопасно загрузить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...