Каков наилучший способ убрать мерцание из быстрой серии изображений во Flash? - PullRequest
0 голосов
/ 27 мая 2010

работает над созданием флеш-программы, которая загружает около 1000 jpegs, а затем воспроизводит их как фильм. Все кнопки и прочее должны работать, но время, необходимое для загрузки изображения, настолько велико, что фильм не может быть воспроизведен со скоростью 30 кадров в секунду. Я пробовал несколько способов исправить это

  1. с использованием 1 полосы прокрутки и изменением ее источника каждые 30 мс. Это худший, но самый простой. Мерцание вызывает стробирование, и его нельзя увидеть.

  2. использовал 2 полосы прокрутки, которые были дубликатами друг друга, пока мне не пришлось загружать. Затем я бы сделал это невидимым, загрузил его, а затем сделал бы его видимым. Затем загрузите фоновый. Работает, но та же проблема, что и первая на высоких скоростях, но менее серьезная.

  3. использовал 1 полосу прокрутки на изображение. Это прекрасно работает, за исключением того, что он с треском проваливается на более чем 100 из них из-за количества объектов. НЕ ПОПРОБУЙТЕ ЭТО ДЛЯ БОЛЬШИХ КОМПЛЕКТОВ ИЗОБРАЖЕНИЙ

Кто-нибудь еще испытал / решил / хочет помочь мне решить эту проблему? Ни одно из моих исправлений не сработало.

В настоящее время используется сценарий действия 3, но он изменится, если это невозможно.

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

1 Ответ

2 голосов
/ 27 мая 2010

2 находится на правильном пути. Обычно это делается с использованием double буферизация (# 2), но кажется, что вспышка слишком медленная для этого.

Возможно, вам придется использовать тройную буферизацию или четырехкратную буферизацию. У вас есть n буферов в кольцевой очереди, вы загружаете их все, а затем отображаете со скоростью 30 кадров в секунду. Когда отображается i-й кадр, вы добавляете изображение i + n в очередь и запускаете фоновую загрузку.

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