Эффективное рисование и анимация тысяч прямоугольников - PullRequest
2 голосов
/ 02 июля 2011

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

Пара стратегий, которые я попробовал, были, во-первых, подкласс NSView (это на Mac)и создать тысячи из них.Затем я изменяю их функцию drawRect: для того, чтобы нарисовать квадрат внутри себя.Тогда довольно просто изменить их местоположение, чтобы переместить их.Однако с несколькими тысячами выделенных экземпляров производительность явно ужасна.

Я также пробовал использовать менее объектно-ориентированный маршрут, просто используя NSRectFill, чтобы нарисовать тысячи прямоугольников.Тем не менее, у меня были проблемы с реализацией необходимого мне движения, хотя оно было невероятно быстрым.

У кого-нибудь есть какие-либо предложения о том, как мне успешно создать эту анимацию?

Ответы [ 2 ]

2 голосов
/ 02 июля 2011

Слои и базовая анимация - лучший подход для платформы.

1 голос
/ 02 июля 2011

Несколько тысяч прямоугольников может быть слишком много для CoreAnimation. Вы должны рассмотреть возможность использования OpenGL.

...