2012-02-20 5 views
1

작은 애니메이션을 실행하는 두 개의 타이머로 프로그램을 작성했습니다. 원래 timerX는 5ms에서 실행 중이었고 timerY는 1ms를 실행 중이었습니다. 나는 프로그램을 실행 가능한 jar 파일로 내보내고 모든 것이 잘 동작했다. 그런 다음 동일한 사양을 실행하는 다른 컴퓨터로 항아리를 보냈습니다. 다시 문제가 없었습니다. 그러나 timerX의 속도를 높이기 위해이 타이머를 1ms로 변경하고 실행하여 파일을 저장하고 내 보냈습니다. 내 바탕 화면에서이 새 파일은 완벽하게 실행되었지만 다른 컴퓨터에 전달할 때 이전 파일과 아무런 변화가 없었습니다. 실행 가능한 jar 파일로 보내기 전에 일식에서해야 할 일이 있습니까? 또한 왜 내 데스크톱에서 잘 실행되지만 다른 컴퓨터에서는 실행되지 않습니다. 두 번째 타이머도 1ms로 설정되어 두 인스턴스에서 모두 똑같이 빠르게 실행됩니다.타이머가있는 실행 가능한 jar

답변

2

Timer accuracy에 표시된 것처럼 클럭 해상도는 호스트 플랫폼 및 운영 체제에 따라 다릅니다. javax.swing.Timer은 기본적으로 이벤트를 합체하지만 타이머 스레드는 이러한 짧은 기간 (높은 빈도)으로 빠르게 포화하는 경향이 있습니다. 구형 시스템을 보완해야 할 수도 있습니다.

+0

이 점에 감사 드리며 차이가있을 것으로 예상됩니다.하지만 원래 생각했던 것 (Timer 5)의 첫 번째 설정에 어떻게 든 고정되어 있습니다. 예를 들어 Timer 100으로 코드를 변경하고 저장하더라도 항아리를 다른 컴퓨터에 보내면 여전히 타이머 5 속도로 실행되는 것 같습니다. 따라서 느리게 또는 빠르게 진행할 수 없습니다. – user1190323

+0

값이 [컴파일 타임 상수] (http://mindprod.com/jgloss/constant.html) 인 경우 해당 클래스 파일을 새로 고치려면 정리 및 빌드가 필요할 수 있습니다. – trashgod

관련 문제