В настоящее время я работаю над небольшим сайтом для моей семьи.Одна из вещей, которые я хотел сделать, - это сделать базовое видео для «стоп-движения».Я мог собрать его и загрузить в Vimeo или что-то в этом роде, но я подумал, что это прекрасная возможность использовать только HTML, CSS и Javascript.
У меня все стилизовано, и мой JS работает и т. Д.кроме того, что это ужасно работает в Chrome и Safari.Интересно, что он отлично работает в Firefox, и я пока не поддерживаю его в IE.Я надеюсь от 8
до 12
кадров в секунду при воспроизведении музыки, которую я пока не удосужился попробовать из-за этого.Плохая производительность - это нечто меньшее.В настоящее время я получаю примерно 3 fps
в Firefox ( приемлемо , но не то, что я искал), а в Chrome и Safari я получаю примерно .6795 fps
.
При запускеChrome Profiler, я получаю следующий (соответствующий) вывод.
99.96% 99.96% (program)
0.03% 0.03% (garbage collector)
0.01% 0.01% script.js:5:nextSlide
Я никогда раньше не использовал Profiler, но я полагаю, это показывает мне, что мой JS - это не то, что так сильно сказывается на производительности.
Я опубликовал тестовую страницу , в которой документируются различия в производительности, которые вы можете посетить с помощью Chrome и Firefox.
Я также обнаружил, что это, похоже, связано сизображения зациклены. Зацикливание разных, более простых изображений , кажется, прекрасно работает как в Chrome, так и в Firefox, несмотря на то, что Chrome по-прежнему требует немного больше энергии, чем Firefox.
Как еще одно доказательство этогоВывод, хотя и совершенно неприемлемый, демонстрируется здесь , после запуска изображений через convert -compress JPEG -quality 1
.Они работают гораздо эффективнее, но, конечно, качество ужасное.
Я запустил эти тестовые страницы в Chrome (16.0.912.63
), Safari (5.1.2 (6534.52.7)
), WebKit ночью (Version 5.1.2 (6534.52.7, r102985)
) иMobile Safari (latest as of 2011/12/28
) и только Mobile Safari работает так же хорошо, как FireFox.Настольные браузеры были протестированы на MacBook Pro.
2.7 GHz Intel Core i7
8 GB 1333 MHz DDR3
Интересно, что Mobile Safari на iPad 2 работает так же хорошо, как FireFox при рендеринге тестовой страницы .Хотя Mobile Safari основан на WebKit, в этом случае он работает совершенно иначе.
Уменьшение вызова setTimeout
на 144
с 244
также, похоже, ничего не делает.В этот момент я пришел к 244
совершенно произвольно, так как на раннем этапе стало ясно, что время отображения по сравнению с вызовом, похоже, не соответствует почти напрямую.Это заставляет меня поверить, что я показываю слайд-шоу так быстро, как только могу в каждом браузере.
Итак, мой вопрос, как я могу сделать этот исполнитель в WebKit?