본문 바로가기

나의 플랫폼/안드로이드

[ Android ] 프레임 속도 조절.

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

쓰레드를 조절할 때, postDelay를 이용해서 프레임 속도를 조절하는데요.

Opengl을 사용할 경우 라이브러리 자체내에서 스레드를 돌리기 때문에

프레임 속도를 조절하기가 힘든 경우가 있었습니다.

그래서 이같은 소스가를 사용하는데요.

private static long targetFrameInterval = 1000L / 30L; // 프레임 속도 30
private long frame = 30L;

// 스레드 콜백 함수 (무한 반복 하는 함수)
public synchronized void onDrawFrame(GL10 gl) {

// 프레임 처음 시간 설정

long frameStartTime = System.currentTimeMillis();

//.. 뭔가 뿌려주기 위한 소스 등등.

// 프레임 시간을 넘기면 그 시간 만큼 정지

long frameEndTime = System.currentTimeMillis();

long delta = frameEndTime - frameStartTime;

if (targetFrameInterval - delta > frame) {

try {

Thread.sleep(targetFrameInterval - delta);

} catch (InterruptedException e) {}

}
 


 저두 구글링을 통해서 알아낸 겁니다.

알았다기 보단 퍼 온거죠..^^;;;

사이트를 잊어버려서.. 결국 이렇게 올렸다는..헤헤