문제

약 15000 픽셀의 치수를 가진 코코아에서 전망을 만드는 것이 현명합니까? (물론이 견해의 작은 부분만이 한 번에 보일 것입니다. NSScrollView)

인터페이스 빌더의 크기는 10000 픽셀의 한계가 있습니다. 이것이 인공적인 한계입니까, 아니면 그 뒤에는 좋은 이유가 있습니까?

거대한 견해를 만들어 내야합니까? NSScrollView/Quartz는 효율적으로 렌더링하는 것에 대해 걱정합니다 (내 견해는 요청 된 영역 내에서 프로그래밍 방식으로 그려집니다. drawRect) 또는 과도한 메모리 사용 및 기타 문제를 위험에 빠뜨릴 수 있습니까? (예 : OS X는 언제든지 비디오 메모리에서 전체보기의 비트 맵을 캐시 할 수 있습니까?)

도움이 되었습니까?

해결책

뷰에는 레이어 지원이 없다면 뷰에는 백업 상점이 없습니다. 창은 후원 저장소가있는 것이므로 뷰를 표시하는 데 사용되는 메모리의 양은 창 크기로 제한됩니다.

따라서 대답은 예입니다. 계속해서 원하는만큼의 견해를 크게 만드십시오.

(물론, 당신은 당신이 통과 된 직장으로의 관점에서 당신이하는 도면을 제한하고 싶을 것입니다. drawRect: 또는 당신은 보이지 않는 그림을하는 데 많은 시간을 낭비 할 것입니다.)

다른 팁

Cocoa가 메모리에서 전체보기를 캐시하려고한다면 문제가 될 것입니다.

10000 * 10000 = 100,000,000
* 4 = 400,000,000

원시 RGBA 픽셀의 400MB입니다 하나 보다. 우리가 정말 비관적이기를 원한다면, nsview가 당신을 위해이를 두 배로 늘리게한다고 가정합니다.

최악의 경우, 사용자는 80%를 사용한 1GB의 RAM을 가진 오래된 Mac Mini에서 앱을 실행하고 있습니다. 이 시스템은 확실히이 시점 이전에 페이징 방식을 시작하여 시스템을 견딜 수 없게 느리게 만듭니다.

반면에, 내가 생각할 수있는 가장 쉬운 방법이므로, 시도하고 메모리 사용에 대해 활동 모니터가 어떤 활동 모니터를 말하는지 알 수 있습니다. 너무 높으면 스크롤보기와 클립보기의 다양한 옵션을 변경해보십시오. 그것이 작동하지 않는다면, 나는 당신 자신의 스크롤러를 만들고 가짜 외에는 다른 것을 생각할 수 없습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top