Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Отрисовка векторной карты города (http://www.flasher.ru/forum/showthread.php?t=115383)

seasergey 28.08.2008 11:35

Отрисовка векторной карты города
 
Подготовка:
Есть векторная карта города (cdr), с помощью VBA (for Corel) обходим все слои и элементы на них и заносим данные в тектовый файл в формате:
Код:

id=77164;layer=first;bkcolor=68,158,214;pencolor=;type=curve;coords=0.976,1270.20,112.921,1272.4345.....
Карта:
-серверный скрипт php, который парсит данные текстового файла и генерит xml
-flash который грузить xml сгенеренный php скриптом и отрисовывает с помощью moveTo,lineTo полигоны, полилинии,....

Все обсуждения, которые велись на данном форуме как привило были о уже готовых MovieClip-ах картах - созданных импортом во flash, отрисованных руками во flash, ... или таких же готовых но подгружаемых swf по слоям.

Вопрос: стоит ли так создавать карту динамически отрисовывая ее? как избежать тормозов при работе flash с данными и отрисовкой? как оптимально распределить чем занимается flash, а чем php?

Буду признателен любой информации по теме.

qazwsx 28.08.2008 11:56

А что полигоны просто однотонные квадраты?:). Нужно ли тебе чтобы она была именно в векторах и зачем?
Самый производительный вориант это рисовать все в битмап и все... Если нет то нужно использовать к каждому полигону который ты будеш рисовать в мувиклип cacheAsBitmap. А вообще давольно расплывчито все понятно и многое не ясно что нужно. Вот если ты полоностью бы описал задачи, и конктретно расипсал вопросы, то дали бы на много больше советов, и притом намного больше делньых советов. :)

P.S Слоев нету...

seasergey 28.08.2008 15:22

вот пример того что получается Карта амурской области из cdr файла

данная карта - это пример, содержит небольшую часть объектов от того, что должно быть в карте города, всего 633 объекта. Интересен сам принцип подхода к данной задаче, оптимизация. В настоящий момент при попытке отрисовать карту города получаем огромное время ожидания завершения отрисовки, не рабочий вариант

chingachgoog 28.08.2008 16:12

Вообще здорово!
У меня такие цифры высветились (GPRS):
Цитата:

Время загрузки xml: 65677 ms.
Время отрисовки: 1136 ms.
Всего MovieClip: 93
Вывод:
1) xml грузиться долго
2) строиться относительно долго

Первую проблему можно решить оптимизацией xml
Вторую - не знаю, как реализовано построение. Откуда там 93 мувика? Какие расчеты при построении кривых?

qazwsx 28.08.2008 16:51

У меня 5 скунд построение было. Загрузка 34секунды 633 мувиклипа. Загрузка очень долгая. Отрисовка не особо долгая. Второй раз

Время загрузки xml: 1163 ms.
Время отрисовки: 6044 ms.
Всего MovieClip: 633

Либо это хост тупит. Либо ты очень сильно оптимизировал хмл за последние часы )). Но учитывая что это небольшая часть обьектов хотелось бы знать сколько их всего будет чтобы давать оценки какието.

seasergey 29.08.2008 17:14

После переноса на нормальный хост и оптимизации xml получился приличный прирост скорости (в отдельных случаях в 5 и более раз).
Просмотр карт

Но вопрос остался стоит ли далее идти по этому пути - векторной отрисовки карты? интересно мнение людей занимавшихся/ющихся картами во flash.

Есть еще одно направление по данной теме - это перенос функции отрисовки карты с клиента flash на сервер в php с использованием php_ming.dll, а на клиенте оставить лишь подзагрузку динамически сгенеренного swf файла. Но тут тоже могут быть грабли - ming вроде как больше не поддерживается его производителями, и возможно в php 6.X просто не быть данного расширения. Что посоветуете?

qazwsx 29.08.2008 17:27

Флеш то карту нарисует без проблем. Другой вопрос какой размер карты будет конечный и на сколько на будет тормазить. Вот изходя из этого стоит думать о том чтобы рисовать все в битмап >_<

Strannic 02.09.2008 09:44

Во тоже пытаюсь сделать что-то подобное. Долго конечно это все грузится. seasergey, а можно исходник для изучения попросить? я новичок во flash

seasergey 02.09.2008 11:39

Исходник flash 8

†‡Paladin‡† 02.09.2008 11:51

Гляньте в сторону SVG. У нас тут iv занимался рефакторингом парсера. Я думаю его возможностей с лихвой хватит для ваших нужд.


Часовой пояс GMT +4, время: 07:07.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.