![]() |
Как отрисовать 100 000 объектов?
Привет!
Нужно сделать, казалось бы, элементарный тест-таск но абсолютно не имею опыта с производительностью. Все просто, нужно отрисовать 100 000 объектов, рандомно разбросанных от -5000 до 5000 по Х и У. Все это дело должно держать примерно 30 фпс. Обычным addChild, разумеется, элементарно ничего даже не запустилось уже для 20 000 объектов. Пробовал отрисовать на битмапДате методом copyPixels, но битмапдату нельзя сделать размером больше чем 4000х4000, а мне собственно нужно 10 000х10 000 (т.к. разбросаны от -5000 до 5000) Может у кого-нибудь есть мысли в какую сторону копать хотя бы? Заранее спасибо! |
Отрисовать на нескольких битмапах?
|
Да, сори, забыл сказать.. При отрисовке на битмапе все равно при 20к объектов виснет. Наверное есть способ как-то еще все это дело разрулить.
|
AGAL, либо не на флэш.
|
нда.. отптимистично!
|
Можно попробовать отрисовать на нескольких битмапах в цикле. при каждой итерации проверяй сколько времени прошло с начала отрисовки, если больше 40-50мс выходи из цикла, а в следующем кадре продолжай отрисовку с места где остановился. При таком варианте чуть сначала потормозит, и будет видно как отрисовывается.
Да, и еще... лучше не брать максимально возможные битмапы, а порезать на куски поменьше, чтобы потом с ними работать легче было. |
dsQuadro, ага, мысль! спасибо! только я вот еще о чем подумал. наверное не оптимально будет отрисовывать битмапом, ведь вдруг объект может быть интерактивным, ну кликабельным например или еще что. так ведь просто картинка получится..
|
А у вас экран 10000*10000 ?
Отображайте то что видно на экране, не делайте глупостей. Вот пример: http://www.strille.net/tutorials/part1_scrolling.php и вот в этом посте тоже: http://www.flasher.ru/forum/showpost...9&postcount=28 |
strangedk, ахаха! как же можно было не додуматься! (: спасибо, вот ведь реально хорошая идея! с меня пиво! (:
|
| Часовой пояс GMT +4, время: 23:25. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.