2010-08-20 1 views
0

Я создал целую кучу наложений с использованием MKPolygon и создан в MKPolygonView. Это прекрасно работает, но на одном из накладок имеется прикладом точек (около 800 точек), что вызывает проблемы с памятью и производительностью. Я попробовал wasRasterize на MKPolygonView, но это имело противоположный эффект, который я не удивляюсь.Проблема с производительностью MKPolygon

Есть ли еще что-нибудь, что я могу сделать, чтобы увеличить его производительность, кроме того, что количество очков (которое я нахожу в процессе)?

ответ

1

Это проблема, известная Apple, но вряд ли изменится. В принципе, что-то большее, чем пара MKOverlayViews, у вас будут проблемы с производительностью независимо от вашего оборудования. В основном вы должны сделать подкласс MKPolygonView и объединить все MKPolygons в один MKPolygonView.

Код доступен на форумах Apple, но, поскольку я его не писал, я не думаю, что должен опубликовать его здесь.

+0

Предложение Бинги об упрощении многоугольника помогает немного. Объединение полигонов в один вид идеально, я думаю, в этой ситуации, однако вы не можете на самом деле сделать это в 3.2.x ... Мы можем успешно уйти от создания экземпляров MKPolygon и MKPolyline (+ связанные взгляды) в 3.2, но как только вы попытайтесь создать подкласс любого из этих классов, все развалится из-за условий iOS4 в процессе компоновки и т. д. –

+0

Я считал, что наложения впервые были представлены в iOS4 – Rudiger

+0

Да, это правда, но они все еще доступны для использования на iOS 3.2, как ни странно. Я создаю свое приложение с SDK 4.1 и устанавливаю 3.2 как минимальную цель устройства. После некоторой проверки в четыре раза, MKPolygon, MKPolyline и связанные с ними «представления» функциональны в iOS 3.2 ... Я даже могу проверить время выполнения, чтобы увидеть, доступны ли эти методы, и они есть. Я был обеспокоен тем, что он не пройдет через App Store, но это так! Смотрите скриншоты на iOS 3.2 по адресу http://www.texlege.com/ –

0

Я бы посмотрел на уменьшение количества точек в многоугольнике. в зависимости от того, откуда вы его взяли. Большинство данных о геофизических манипуляциях имеют функции, которые позволят вам уменьшить количество точек в многоугольнике. (все, что вам нужно сделать, это обеспечить измерение точности.)

+0

На самом деле это была не проблема, как первоначально предполагалось. Есть еще 800 очков, но если вы объедините MKPolygonView в один, он будет работать отлично. – Rudiger

 Смежные вопросы

  • Нет связанных вопросов^_^