Brain-Computer Interfacing에 대한 인턴십을 위해 CRT 모니터에서 매우 빠르게 깜박이는 사각형을 생성해야합니다 (깜박임 = 두 가지 색상이 교대로 나타남). 모니터의 새로 고침 빈도는 85Hz이며 병목 현상이 발생하여 모든 사각형을 다시 칠하는 데 최대 1000/85 = 11ms가 걸릴 수 있습니다.간단한 2D 그래픽을 실시간으로 생성하는 방법은 무엇입니까?
GUI/그래픽 프로그래밍에 대한 선호 언어는 자바이므로 동기식 (Swing과 달리)이므로 AWT로 프로토 타입을 만들려고했습니다. 이제는 두 가지 문제가있는 것 같습니다. 첫 번째는 시간 측정에 따르면 9 개의 정사각형을 다시 칠하는 데 너무 오래 걸리는 것으로 나타났습니다. 내 알고리즘은 원하는 빈도를 취하고 시스템이 미리 다시 칠해야하는 시간을 계산 한 후 다음 번 '시간'에 도달 할 때마다 점검하는 루프 (절전/대기 지연 없음)를 사용합니다. 그렇다면 모든 루프를 반복합니다 그 (것)들을 다시 칠하기 위하여 사각형. 지금 구현 한 방법은 사각형이 배경색 A의 패널이고 배경색 B가있는 다른 패널에 포함되어 있고 패널의 가시성이 변경 되었기 때문에 깜박임이 발생한다는 것입니다. 나는 이것이 직사각형을 항상 그려야하는 한 패널보다 빠르다는 것을 알아 냈습니다. 괜찮은 프로파일 링 도구가 없다 (Eclipse TPTP 또는 NetBeans 프로파일 러가 작동하지 않음) 확신 할 수 없지만 병목 현상이 실제로는 다시 그리는 것이 아니라 루핑에 있다고 느끼고있다. (조건부 검사 등). 내가해야 할 일에 대해 무엇이든지 권할 수 있니?
두 번째 문제는 정사각형이 위에서 아래로 렌더링 된 것처럼 보입니다. 정말 빨리 달리는 것처럼 보이지만 여전히 눈에 띄게 있습니다. 이것은 받아 들일 수 없다. 내가 궁금해하는 것은이 원인이 무엇인가하는 것입니다. Java/AWT 또는 Windows입니까, 아니면 느린 알고리즘을 쓰고 있습니까?
나에게 몇 가지 시도해 볼 것을 권할 수 있습니까? Java를 사용하는 것을 선호하지만 꼭 사용해야한다면 C (또는 무언가)를 사용할 것입니다.