Можете сначала определять пересечения прямоугольников.
Если их нет, то сразу возвращаем false.
Если есть пересечение прямоугольников, то отрисовываем в битмапу только куски, которые попадают в пересечение.
Параметр matrix в методе Bitmapdata:draw вам в помощь.
Должно неплохо снизить нагрузку.
Если уж очень сильно хочется оптимизировать, то можно попробовать разбивать прямоугольник-пересечение на более мелкие сектора фиксированного размера, если он сам довольно велик.
И с примитивными секторами проводить ту же проверку.
Не уверен, правда, что приложение какого-нибудь скроллректа (первое решение, которое приходит в голову, для того, чтобы стравить два маленьких сектора) не даст еще большую задержку, но попробовать можно.
А если еще сильнее заморочиться, то можно попробовать кешировать результаты проверки пересечения и предыдущие координаты объектов.
Цитата:
|
Скажите, а что за пример? Т.е. в этом примере как-то избегается растеризация (перевод вектора в растр)?
|
А что насчет того, чтобы взять и пройти по ссылке?