2017-11-18 3 views
0

저는 2D 게임에 파이 게임을 사용하고 있습니다. 나는 매 프레임마다 내 모든 장면을 렌더링 할 필요가 없다는 것을 알아 차렸다. 점진적으로 내 장면을 그려서 정기적으로 뒤집으면 내가 원하는 것을 얻을 수 있습니다.pygame.display.flip()은 (플립/대체) 버퍼를 복사하도록 보장합니다.

그러나 이전에 SDL/OpenGL에서 하드웨어 플래그에 따라 서페이스 사이의 뒤집기 또는 백 버퍼의 복사본을 프론트 버퍼로 가져올 수 있습니다.

pygame.display.flip()을 호출 할 때 얻을 수있는 보장이 있습니까? 하나의 동작을 다른 동작보다 강하게 수행하는 방법은 무엇입니까?

답변

1

HWSURFACE | DOUBLEBUFpygame.display.set_mode으로 전달하지 않으면 가져올 버퍼가 하나뿐입니다. 이는 SDL 1.2의 SDL_SetVideoMode에 직접 해당됩니다. 이중 버퍼링을 사용하지 않으면 볼 수있는 프론트 버퍼에서 직접 드로잉 할 수 있습니다. 전통적으로 (주로 콘솔과 가정용 컴퓨터에서) 이것은 인공물을 피하기 위해 수직 블랭킹 기간 동안 수행되었습니다. 이중 버퍼링을 사용하면 찢어지지 않도록 플립이 그런 식으로 동기화됩니다. 플래그는 프로그램에서 볼 인터페이스를 선택합니다. OS 또는 하드웨어 레벨에서 이중 버퍼링이 여전히 존재할 수 있으며 이중 버퍼링은 소프트웨어로도 에뮬레이션 될 수 있습니다.