Для производительных роликов часто оказывается полезным определить скорость "железа",
на котором они будут проиграны. (И, может быть, выбрать соответствующее качество (quality)
воспроизведения). Ниже приводится простой способ определения производительности компьютера,
который можно использовать во время прелоадинга (загрузки ролика) или непосредственно
перед началом проигрывания ролика.
Вот наш рабочий пример:
Метод очень прост: мы берём кусочек анимации (длиной 1-3 секунды), совпдающей (или превосходящей) по сложности
анимацию, которая используется в ролике. Запоминается значение таймера в начале анимации и в конце, а затем
вычисляется длительность проигрыша кусочка. Скажем, установленная скорость ролика равна 30 кадров
в секунду, а длина тестового фрагмента составляет 60 кадров. (Данные значения используются в нашем
примере). В таком случае, длительность проигрыша должна составлять 2 секунды.
Можно прибавить некоторое время (в нашем случае добавлено 0.5 сек) немного поэкспериментировав и определив
минимальную скорость, которая требуется для проигрыша ролика.
Функция getTimer(),
которая используется для получения значения таймера возвращает результат в миллисекундах, что даёт
нам большую чувствительность для наших тестов.
В приведенном примере тест на скорость считается пройденным, если 60 кадров анимации проиграются меньше чем за
2500 миллисекунд.
Можно придумать различные вариации этого способа. Только будьте осторожны
с анимацией, используемой при определении скорости. Она должна требовать столько же (или даже больше) ресурсов,
сколько использует ваш основной ролик. Подсказка: используйте большие по площади символы и
различные эффекты цветности/прозрачности. Это хорошо нагружает видеосистему.
Вот исходник примера, использованного в уроке: speed_detect.fla (24 k)
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...