Я написал игру в слова, используя тег HTML5 canvas и немного аудио. Я разработал приложение на веб-браузере Chrome в системе Linux. Недавно на этапе тестирования он был опробован на Safari 5.0.3 на Mac, и веб-страница зависла. Замерли не только элемент canvas, но и интерактивный элемент на странице. Иногда я сталкивался с этой проблемой в Google Chrome, когда разрабатывал, но, поскольку консоль не выдавала никаких ошибок до того, как это произошло, я не очень доверял ей. Теперь, согласно требованиям, я должен поддерживать как Chrome, так и Safari, но эта мрачная работа в Safari привела меня в шок, и я не вижу, какую ошибку можно вызвать, которая может привести к такой ситуации. Хуже всего то, что загрузка процессора при использовании этого приложения достигает 70-80 процентов на моем 2-летнем MacBook, работающем под управлением Ubuntu ... Я могу только пожалеть человека, который использует Mac для работы с этим приложением, которое, несомненно, является более тяжелой ОС. Может ли кто-нибудь помочь мне с местом, с которого я могу начать, чтобы выяснить, что именно вызывает эту проблему.
Я запустил профили в этом веб-приложении на консоли Google Chrome и заметил, что в динамической памяти значение кучи неуклонно увеличивается с игрой в игру, в частности (корневое) значение, которое увеличивается на 900 отсчетов. Любая помощь будет принята с благодарностью!
Спасибо
РЕДАКТИРОВАТЬ: я не знаю, помогает ли это, но я заметил, что даже при обновлении страницы после того, как приложение перестает отвечать на запросы, страница перезагружается, и я по-прежнему не могу взаимодействовать с элементами страницы, но полоса прокрутки вкладки продолжается работать, и я вижу свое окно приложения полностью. Таким образом, к сводке вкладка перестает принимать любые виды взаимодействия с пользователем внутри страницы.
Edit2: Нет. Это не работает до сих пор ... Приложение падает при двойном щелчке на элементе холста. Консоль тоже не выдает никаких ошибок! = / Я заметил, что эта проблема изолирована только для сафари!
Edit3: Хорошо, сегодня я выполнил несколько других тестов. Я изолировал виджет HTML5 и только его HTML-данные и запустил его на сафари локально, чтобы воспроизвести ошибку. Увы, это хорошо работает! Поэтому я попытался играть в игру со своего сервера без интеграции с Facebook, и она снова работает нормально! Так что проблема возникает только в сафари на MAC OSX, в то время как виджет находится на холсте Facebook как приложение Facebook. Мне очень трудно придумать сокращенный сценарий тестирования для этого приложения ... = / Это становится более странным, игра хорошо работает на Safari для Windows. Кроме того, после того, как вкладка зависает, другие вкладки продолжают реагировать и хорошо работать. Эта вкладка также закрывается при нажатии кнопки закрытия и прочее, но если я загружаю другую страницу на этой же вкладке после ее замораживания, страница загружается на холст вкладки, но я не могу с ней взаимодействовать. Даже не google.com! Так что я уверен, что в моей игре нет ошибки, но это ошибка сафари ... Скоро подам отчет об ошибке, спасибо всем за помощь людям ...:)