문제

나는 Pygame (Debian/Lenny)과 함께 놀았습니다. 블릿의 성가신 찢어짐 (전체 화면 또는 창 모드)을 제외하고는 잘 작동하는 것 같습니다.

기본 SDL X11 드라이버를 사용하고 있습니다. Googling은 X11이 VSync 시설을 제공하지 않는다는 SDL의 알려진 문제라고 제안합니다 ( FULLSCREEN|DOUBLEBUF|HWSURFACE 플래그), 대신 "DGA"드라이버를 사용해야합니다.

그러나 달리기

SDL_VIDEODRIVER=dga ./mygame.py

Pygame 초기화로 던졌습니다

pygame.error: No available video device

(에도 불구하고 xdpyinfo XFREE86-DGA 확장 프로그램을 보여줍니다).

그래서 : 눈물이없는 vsynced 플립을 얻는 요령은 무엇입니까? 이 DGA 일이 작동하거나 다른 메커니즘을 얻음으로써?

도움이 되었습니까?

해결책

내 최종 해결책은 전환하는 것이 었습니다 피그렛, 이는 Pygame보다 OpenGL을 훨씬 더 잘 지원하는 것처럼 보이며 깜박임 문제가 없습니다.

다른 팁

최소를 계속 찢는 가장 좋은 방법은 프레임 속도를 최대한 화면 주파수에 가깝게 유지하는 것입니다. SDL 라이브러리에는 OpenGL을 실행하지 않는 한 SDL 라이브러리가 VSync가 없으므로 프레임 속도를 직접 근사화하는 것입니다. SDL 하드웨어 더블 버퍼는 보장되지 않지만 작동 할 때는 좋지 않습니다. 나는 그것을 실제로 보지 못했습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top