2016-08-25 2 views
1

저는 Kinect 2를 사용하여 3 방향으로 손을 움직여 3D 오브젝트에 나타나는 가상 카메라의 회전과 확대/축소를 수행합니다. 현재 내가 당면한 문제는 이러한 작업이 눈에 띄는 지연과 함께 실행된다는 것입니다. 손이 안정된 자세로 다시 움직이면 카메라는 여전히 짧은 시간 동안 계속 움직입니다. 실시간으로 카메라를 제어하는 ​​대신 카메라를 누르는 것처럼 느껴집니다. 아마도 프레임 속도가 문제 일 것입니다. 내가 아는 한 Kinect는 30FPS이고 내 응용 프로그램은 60FPS (VSync 사용)입니다.Kinect 2 - 손 움직임에 상당한 지연이 있음

이 문제의 원인은 무엇입니까? 중요한 지연없이 카메라를 어떻게 제어 할 수 있습니까?

+1

@Rafaf Tahsin이 귀하의 질문에 답변하는 동안, 나는 당신이 실제 문제에 도움이되는 것을 보지 못합니다. 렌더링이 Kinect FPS보다 느리면 렌더링 할 때 항상 새로운 프레임이 제공됩니다. 그 반대의 경우 타임 스탬프를 비교하면 도움이됩니다. 그러나 다시 렌더링하기 전에 새 프레임을 기다리는 것이 더 합리적입니다. 하지만 문제가 발생하면 렌더링이 완료 될 때까지 프레임을 삭제 한 다음 최신 프레임으로 다시 렌더링해야합니다. 하지만 그건 당신이 묻고있는 것 같지 않나요? – HenningJ

+0

질문을 완전히 수정했습니다. – user1056903

+0

내 대답은 재검토 된 문맥에 따라 더 이상 유용하지 않다고 생각합니다. 나는 그것을 삭제하고있다. –

답변

0

Kinect는 매우 그래픽 적이며 프로세스 집약적 인 하드웨어입니다. 귀하의 응용 프로그램에 대해서는 GTX960 및 4 세대 i7 프로세서의 최소 사양을 제안합니다. 귀하의 하드웨어는 Kinect 데이터를 얼마나 빨리 계산할 수있는 가장 중요한 요소가 될 것입니다.

루프를 가능한 한 많이 사용하지 말고 멀티 스레딩에 의존하고 루프하는 경우 실행 시간이 길어질수록 foreach 루프가 없음을 확신하십시오. 코드에서 Kinect와 position 명령을 비동기 적으로 읽은 데이터를 실행하는 것이 매우 중요합니다.

Kinect는 실시간으로 응답하지 않습니다. 처리중인 데이터가 너무 많아 코드를 최적화하고 하드웨어 성능을 향상시켜 응답 시간을 줄이는 것이 가장 좋습니다.

관련 문제