![]() |
|
||||||||||
|
|||||
|
Регистрация: Dec 2012
Сообщений: 20
|
Вобщем задача такая:
есть фон и множество объектов на фоне. обычное перемещение(перемещение каждого объекта отдельно) не подходит, ибо этих объектов может быть несколько тысяч и время перемещения сами понимаете может быть огромным(10000объектов*100пикселей перемещения - это уже огого)...Можно ли как то указать относительные координаты(в данном случае относительно фона) или сделать аттачинг объектов к фону? Вобщем нужен баровый график типа http://help.adobe.com/ru_RU/FlashPla...HLOCChart.html но без флекса |
|
|||||
|
"Аттачинг" конечно к фону
Скорее добавление и объектов и фона на один спрайт. А там уже в зависимости от позиции этого глобального контейнера - убирание/добавление фона и объектов, если оно надо. Бояться того, что при перемещении к концу у Вас будут координаты x > 9000 и даже больше 90 000 не стоит - проблемы с производительностью зависят от размеров области перерисовки, количества объектов, но не от величины координат. |
|
|||||
|
Регистрация: Dec 2012
Сообщений: 20
|
я имею ввиду если перемещать 100 000 объектов на 100 пикселей то перемещение на каждый пиксель будет оч долгим(100 исполнений функции перемещения для каждого объекта).
|
|
|||||
|
Выполнение функции перемещения на фоне рендеринга объекта ест исчезающе мало.
Я порекоммендовал запихать в один контейнер, предположив, что у Вас платформер и так тупо проще уследить за оъектами. А если есть проблемы с производительностью (есть или есть только предположения, кстати?) опишите чего вы конкретно делаете, может подскажу. |
|
|||||
|
Регистрация: Dec 2012
Сообщений: 20
|
Цитата:
|
|
|||||
|
Регистрация: Dec 2012
Сообщений: 20
|
Цитата:
А описание было - свечно-баровый график без флекса. свечей в теории может быть до полумиллиона(ограничение количества и своевременная подгрузка это позже будет). Соответственно все свечи сразу я увидеть не смогу, нужно перемещаться по графику, вот думаю как это сделать. То есть для перемещения нужно либо менять точку обзора(что не знаю возможно ли вобще или нет), либо при драге мышью перемещать каждую свечку, либо (тоже не в курсе осуществимо ли) привязать все свечи к фоновому прямоугольнику(относительные координаты?) и перемещать только его. Вобщем хотелось бы узнать: что из этого осуществимо, что проще и что быстрее? Прошу прощения, может топик тупой но просто я перехожу на АС с др. языков. Пока что еще не очень вкуриваю возможности языка |
|
|||||
|
[+1 05.11.12]
Регистрация: Feb 2011
Сообщений: 431
|
Если у вас уже скролится график, вы можете запомнить координаты каждой свечи, и при скролле, если мы дотянули график до такой-то координаты, можно отобразить свечу.
К примеру: Длинна графика 5000 пихелей. Ширина сцены - 640 , следовательно отображаем изначально все свечи с 0 <= x <= 640. При перемещении по графику отображаем свечи в соответствии с текущими координатами, а те что не вписываются в них - убираем со сцены. |
|
|||||
|
Регистрация: Dec 2012
Сообщений: 20
|
Цитата:
задача в том каким образом организовать перемещение по графику а отображение/скрытие это из другого леса |
|
|||||
|
Цитата:
Общий совет: - сделайте 500 000 точек (хоть с помощью Math.random, хоть любой другой функцией) - посмотрите реальные тормоза - а уже потом что-то делайте и смотрите стало лучше или нет. Просто без реальных тестов пытаться оптимизировать (особенно отрисовку, а не алгоритмы) - дело безнадёжное - есть неслабые шансы сделать ещё медленне ![]() Один совет: - если всё Вы это сделали и fps падает при простом проведении мыши - значит надо убирать объекты за пределами видимости с экрана, если при проведении мыши над свечками - ни просадки fps - ни нагрузки на процессор - то не факт что поможет - рендерится то ведь только то уместилось на экране, а считается для мыши всё что уместилось и что не уместилось. |
![]() |
![]() |
Часовой пояс GMT +4, время: 17:22. |
|
|
« Предыдущая тема | Следующая тема » |
|
|