2009-08-03 5 views
2

파이썬 (2.6)에서 모니터의 재생 빈도를 가져 오는 플랫폼 간 방법이 있습니까? 그게 도움이된다면 Pygame과 PyOpenGL을 사용하고 있습니다.모니터 새로 고침 빈도는 어떻게 결정합니까?

새로 고침 빈도를 변경할 필요가 없습니다. 그게 무엇인지 알아야합니다.

+0

? 게임 루프 등을 작성하는 경우 일반적으로 새로 고침 빈도를 사용할 필요가 없습니다. –

+0

내 앱이 전체 화면으로 실행 중일 때 v-sync가 활성화되어 fps를 재생 빈도로 제한합니다. 창 모드에서 V- 동기화가 활성화되어 있지 않으며 fps가 몇 배 더 빠릅니다. 창 및 전체 화면에서 동일한 속도로 실행하고 싶기 때문에 모니터의 새로 고침 빈도로 최대 fps를 설정하고 싶습니다. –

+0

게임 논리와 렌더링 속도를 함께 사용하지 마십시오. 몇 가지 대안 게임 루프 구성을 찾으십시오. http://dewitters.koonsolo.com/gameloop.html –

답변

3

사용하는 플랫폼이 확실하지 않지만 창에서 ctypes 또는 win32api를 사용하여 장치에 대한 세부 정보를 얻을 수 있습니다. 내 시스템에 win32api

import win32api 

def printInfo(device): 
    print((device.DeviceName, device.DeviceString)) 
    settings = win32api.EnumDisplaySettings(device.DeviceName, -1) 
    for varName in ['Color', 'BitsPerPel', 'DisplayFrequency']: 
     print("%s: %s"%(varName, getattr(settings, varName))) 

device = win32api.EnumDisplayDevices() 
printInfo(device) 

출력을 사용 : 당신은 내가 요청할 수도 있습니다 경우, 새로 고침 속도를 사용하려고 무엇

\\.\DISPLAY1 Mobile Intel(R) 945GM Express Chipset Family 
Color: 0 
BitsPerPel: 8 
DisplayFrequency: 60