Я делаю игру и сейчас использую группы для рендеринга материала, однако для простоты и облегчения улучшений в будущем я буду рендерить эти спрайты вручную. Итак, что более производительно: использование переворота, одно обновление или обновление после каждого переворота?
Производительность между переключением и обновлением в pygame
comment
Простота? Если вы думаете, что группы - это непросто, вы делаете что-то неправильно. Они буквально предназначены для упрощения вашей жизни по рендерингу и обновлению объектов. Вы никогда не обновляете после каждого блита, вы все блитете, а затем обновляете / переворачиваете.
- person Torxed   schedule 05.02.2019
comment
@Torxed Я сказал простоту, потому что будет легче улучшить код рендеринга
- person Simple coder   schedule 06.02.2019
comment
Объясните, почему, потому что вы говорите об обратном опыте, который я имел с группами / партиями более 5 лет.
- person Torxed   schedule 06.02.2019
Ответы (1)
Вызов update
после каждого блита убьет вашу производительность. Просто вызывайте update
или flip
не более одного раза за кадр.
Если вы используете OPENGL
или HWSURFACE
, вам необходимо использовать flip
, который обновляет весь экран.
Если вы используете программный дисплей (по умолчанию), используйте _ 7_ обеспечивает наилучшую производительность; если вы передадите функции список прямоугольников, чтобы она обновляла только те части экрана, которые действительно нуждаются в обновлении (YMMV, в зависимости от того, что вы на самом деле делаете и какое оборудование вы используете, но обычно это выход).
Pygame уже упрощает использование, предлагая _8 _ и LayeredDirty
.
person
sloth
schedule
06.02.2019