Qt: Эффективно ли обрабатывать QGraphicsItems, которые имеют «много растровых изображений»? (RTS)

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

К вашему сведению, я не стремлюсь ни к чему уровню AAA, я просто пытаюсь реализовать некоторые методы машинного обучения. Таким образом, я выбрал ISO-образы отказа от программного обеспечения Warcraft II, бесстыдно взял немного графики и упал с первыми проблемами.

http://img263.imageshack.us/img263/1480/footman.png

Как Вы можете видеть выше, даже у простого лакея из Warcraft II есть около 50 спрайтов для анимации. А это много. И это будет очень часто менять спрайты. (Черная линия просто проверяла правильность моего альфа-канала)

Итак, последний вопрос: Как мне эффективно реализовать QGraphicsObject, который постоянно меняется? Как мне эффективно реализовать QGraphicsItem, который постоянно меняет свой внешний вид?

Могу ли я просто перегружать метод paint () QGraphicsPixmapItem и продолжать изменять Pixmap, используемый на экране? Не вызовет ли это заикания? Я слышал, что иногда разумно / возможно создать все растровые изображения в одном, скрыть их все и при необходимости дублировать. (Копирование дешевле, чем другие операции) Есть ли еще какая-нибудь разумная идея?

Спасибо за любой вклад! (учебник по RTS-движкам, сложности и т. д.)

12
задан Joel Coehoorn 7 December 2011 в 15:31
поделиться