PDA

Просмотр полной версии : Избежать поддергивание больших фоток(3000х3000)


scarbo
09.10.2008, 00:29
Встал вопрос,как избавиться от поддергиваний,при прокрутке больших(3000х3000) фоток.
Что посоветуете,надо к ним применять cacheAsBitmap?
Или лучше с них снять битмапу и двигать её?
С чем быстрее справиться Флеш?
Задача такая - что в ряд стоит от 5 до 10 таких фоток,и при движении мыши они перемешаются,fps-30,но картинки поддергивает,как избежать?

etc
09.10.2008, 00:44
Не делать такие большие фотки.

scarbo
09.10.2008, 01:29
к сожалению они требуются,
все же как можно оптимизировать?

AL.exe
09.10.2008, 02:50
Может, покажется глупостью, но попробуйте поставить их MovieClip-контейнерам cacheAsBitmap=true. Мне это помогло, правда я не использовал такие большие картинки, но у них изначально проблема с подергиванием была.

Еще вариант - проверить, что у вас картинки сдвигаются не менее чем на один пиксель в кадр. Иногда люди ставят движение менее чем на 25 пикселей в секунду и создается эффект подергивания.

Если это не поможет, то, боюсь, оптимизировать никак не получится. Картинки и вправду слишком большие.

Wolsh
09.10.2008, 07:48
А каковы размеры выводящего устройства?

iNils
09.10.2008, 11:04
Может, покажется глупостью, но попробуйте поставить их MovieClip-контейнерам cacheAsBitmap=true.cacheAsBitmap работает только с объектами не больше 2880х2880.

scarbo
09.10.2008, 11:13
А каковы размеры выводящего устройства?
Не понял...

iNils
09.10.2008, 11:23
Монитора

scarbo
09.10.2008, 11:31
Так у всех же пользователей разные

etc
09.10.2008, 13:44
Так нафига показывать фотки 3000×3000, если 99.99% мониторов не уместят такое фото?

chingachgoog
09.10.2008, 13:55
Задача такая - что в ряд стоит от 5 до 10 таких фоток,и при движении мыши они перемешаются,fps-30,но картинки поддергивает,как избежать?
А если картинка только одна - то дергается?

Роман Вадимович
09.10.2008, 14:13
http://www.zoomify.com/express.htm

Эта прога разбивает картинку на кусочки и загружает их при необходимости только для видимой области экрана.
Дергаться ничего не будет. А размеры исходной фотки могут быть и 10 000 на 10 000 пикселей.

AL.exe
09.10.2008, 15:20
Так нафига показывать фотки 3000×3000, если 99.99% мониторов не уместят такое фото?

Мне кажется, что scarbo делает что-то в стиле googleMaps, т.е. скроллящаяся картинка под маской.

В таком случае лучше разбить ее на куски.

cacheAsBitmap работает только с объектами не больше 2880х2880.
iNils, спасибо, запомню.

scarbo, так, может, сделать тогда картинки на 120 пикселей меньше по обоим сторонам и применить cacheAsBitmap, раз уж вы не хотите их резать? :)

chingachgoog
09.10.2008, 15:53
По-моему, можно даже не обрезать на 120 пикселей, а достаточно смасштабировать мувик до значений 2880, чтобы cacheAsBitmap сработал. Но перед этим надо представлять себе для чего вообще нужен cacheAsBitmap и где он дает выгоду в производительности.

Wolsh
09.10.2008, 15:57
А есть вообще смысл кешировать битмап как битмап?))) Я понимаю - вектор, чтоб не пересчитывать, но речь вроде идет о битмап-картинках. Тем не менее я бы сделал их меньше - область перерисовки надо максимально оптимизировать, чтобы она как можно лучше соответствовала экрану - перерисовывать такого монстра действительно тяжело. Если уж совсем ничего не поможет, я бы сделал картинки "внахлест" - по крайней мере щелей не будет видно при дерганьи)))

scarbo
09.10.2008, 16:59
Так нафига показывать фотки 3000×3000, если 99.99% мониторов не уместят такое фото?
Это не моя блаж,а фотки двигаются,в зависимости от положения мыши,так что видны все,но вот дергаются.
Есть конкретные предложения?
Если уж совсем ничего не поможет, я бы сделал картинки "внахлест"
Это как,не очень понимаю.

Art_133
10.10.2008, 02:11
Может конечно глупое решение, но когда у меня была проблема с подёргиванием фоток (не такого размера конечно) Я в свойствах картинки (Библиотеке) ставил галочку на против Allow Smoothing

wvxvw
10.10.2008, 04:03
Ну вот когда картинку нужно показать, тогда ее и дорисовывать, незачем ее рисовать за пределами экрана, там ее ве равно не видно =)
Обои можно клеить встык, внахлест и заподлицо %) (это честно не ругательство, а такой технический термин =) встык - это когда края соседних участков находятся на одной линии, внахлест - когда края участков находятся на территории другого участка, а заподлицо, это когда часть ближе к краю одного из участков оборачивает край смежного участка (во флеше так не получися :D )