72 개의 LED 조명을 포함하는 몇 가지 다른보기를 수행해야합니다. LED 클래스를 작성하여 LED를 반복하여 다른 색상 (녹색, 빨간색, 주황색, 파란색 없음 등)으로 설정할 수 있습니다. 그러면 LED가 해당 .png를로드합니다.많은 "LED"- 스레드, UIView 애니메이션을 애니메이션화하기위한 전략? NSOperation? (iPhone)
잘 작동합니다. LED를 반복하여 설정합니다. 이제는 언젠가 변경 색상을 켜거나 끄지 않아도되지만 약간의 지연만으로 켜야한다는 것을 알고 있습니다. 이퀄라이저처럼.
72 개의 LED가 포함 된 5-10 개의 뷰가 있으며, 최소 메모리/CPU 변형으로 위의 내용을 얻고 싶습니다.
for(LED *l in self.ledArray) {
[l display:Green];
}
상기와 같이 LED 내부 I 단순히 루프
올바른 논리를 수행하는switch case
이다. 이것이 실제 LED와 마이크로 콘트롤이라면 루프 내에서
sleep(100)
또는 비슷한 것을 사용 하겠지만, 분명히 그런 이유로 피하는 것이 좋을 것 같습니다.
나는 performOnThread withDelay
을 수행하는 것이 실제로 소모 될 것이라고 생각했기 때문에 UIView animation
은 알파를 변경하고 NSOperation은 작은 기능을 위해 많이 들어갈 것입니다.
이 문제를 해결할 수있는 효율적이고 똑똑한 방법이 있습니까?
주어진 영감을 주셔서 감사합니다. :)
안녕하세요 rjobidon .png를 사용하는 오버 헤드가 너무 커서 정당화 될 수 있습니까? 위의 Png를 구현 한 이후로 약간의 지연이 있었지만 PNG가 범인이라는 것을 입증하지 못했습니다. 입력 해 주셔서 감사합니다. – RickiG
OpenGL은 높은 프레임 속도로 많은 양의 이미지 조작을 처리 할 수있는 매력이 될 것입니다. OpenGL을 원하지 않으면 스프라이트 조작을 수행 한 다음 단일 이미지보기를 업데이트하기 위해 오프 스크린 버퍼를 구현할 수도 있습니다. OpenGL보다 단순 할 수 있으며 처리 할 72 개의 독립적 인 이미지보다 효율적입니다. 첫 번째 해결 방안은 간단하지만 72 개의 그래픽 객체를 처리하도록 OS를 강제합니다. 행운을 비네! – rjobidon