iOS 앱의 경우 사용자가 화면에서 손가락을 슬라이드하면 50,000 도트가 기록됩니다. 도면을 drawRect
이 모든 점에 대해 수행되는 경우, 다음 번에 사용자가 touchesMoved
다음 줄의 끝에서, 50,001 점을 감동iOS에서 drawRect를 사용하지 않고 무언가를 그릴 수 있습니까?
[self.view setNeedsDisplay];
다시 실행 drawRect
의 원인이 모두 50,001 점으로 그려진 것 다시. 따라서 새로운 손가락 움직임 1 개마다 1 개의 점마다 50,001 개의 점을 다시 그려야하며 효율적인 방법은 아닙니다.
drawRect
의 마지막 점을 그리기 만하면 기존보기를 "추가"하지 않고 "모든 것을 지우고"한 점을 그립니다.
1) 할 수있는 방법이 drawRect
호출이 필요없이 그 일 추가 점을 그릴 수 있습니까?
2) 또는 drawRect
전체 화면을 처음으로 닦지 않고 여분의 점 하나를 그릴 수 있습니까?
50k 도트를 모두 기록하지 말고 refresh-call (drawRect)에서 가장 최근의 것만을 그립니다. 다른 하나 (49.9k)는 기본적으로 캐시로 작동하는 비트 맵에 직접 그릴 수 있습니다. 따라서 비트 맵 도트는 하나씩 다시 그릴 필요가 없으며 한 번에 blitted 할 수 있습니다. – Till