이상한 방법으로 마우스 이벤트가 쌓이는 성능상의 문제가 있습니다. 내 프로파일 링 도구는 AWT 스레드가 항상 많이 사용되고 있다고 말합니다. AWT 스레드가 수행중인 작업에 대한 자세한 로그 메시지를 뱉어 내도록 스마트 한 방법 (예 : 속성 파일 또는 일부 값 설정)이 있는지 궁금합니다.AWT 로깅을 켜는 방법
1
A
답변
0
AspectJ를 사용하여 메소드 호출에 주석을 달 수 있습니다. 그러나 프로파일 러를 사용하는 것이 더 합리적입니다. 또는 JDK와 함께 제공되는 "프로파일 러".
0
이 로그가 유익한 정보를 알 수 없습니다. 나는 방금 AWT 클래스로 로거의 사용을 찾고 아무 것도 보지 못했다.
하지만 다른 아이디어가있을 것입니다.
Toolkit.getDefaultToolkit().addAWTEventListener(listener, eventMask)
을 사용하여 이벤트 대기열에 연결하십시오. 로그 파일에 이벤트를 인쇄하십시오. 아마 당신은 어떤 종류의 사건이 더 많은 시간이 걸리는지 보게 될 것입니다.
나는 EDT 내부에서 많은 주문 처리를하고 있다고 생각합니다. 그렇지 않으면 이벤트 스레드를 매우 사용하기가 "상당히 복잡합니다". – Howard
문제의 프로파일 러 도구를 사용하면 특정 메소드에 소요 된 평균 시간을 분석 할 수 없으므로 어떤 방법으로 AWT 스레드를 포화시키는 지 확인할 수 있습니까? – obfuscation
안타깝게도 내 프로파일 링 도구에서 내 마우스 포인터를 움직일 때 AWT 스레드가 매우 바쁜 것 외에 다른 세부 정보를 표시하지는 못합니다. 최근에 AWT 스레드에서 전달되는 이벤트 수가 비정상적으로 높지는 않다는 것을 알게되었습니다. 또한 이것은 Linux에서 실행할 때만 발생합니다. Windows에서는 모든 것이 매력처럼 작동합니다. JRE 1.6 업데이트 27을 실행 중입니다. –