2012-02-10 4 views
1

iPhone 개발 : Core-Plot 성능 거대한 데이터를 처리 할 때 느려집니다.iPhone 개발 : Core-Plot 성능 대용량 데이터 처리시 천천히

나는 피곤한 500 데이터를 플롯에 넣습니다.

성능이 매우 느린 것으로 나타납니다.

및 대부분의 모든 혼합 함께 촛대 차트의

...

사람은 나를 위해 모든 솔루션을하시기 바랍니다있다 ????

고맙습니다.

+2

당신은 코드를 프로파일 링하고 대부분의 시간을 보내는 위치를보고 악기를 사용해야의 기술 리드입니다. – benzado

답변

1

데이터 샘플을 플롯하십시오! 실제로 모두 그릴 필요가 없다면 500 개의 데이터 포인트를 그려서는 안된다.

+0

답장을 보내 주셔서 감사합니다. 주식 차트를하고 있기 때문에 500 개 이상의 데이터를 모두 입력해야합니다. – nullmicgo

7
  1. 플롯 영역의 크기를 알고 있어야합니다. 픽셀보다 많은 데이터 포인트가있는 경우 @benzado가 제안한대로 데이터 세트를 필터링하십시오.

  2. 불투명 한 색상, 그라데이션, 이미지 없음, 그림자가없는 그래픽 요소를 사용하십시오. 막대의 너비가 몇 픽셀 밖에되지 않으면 채우기 및 경계선을 설정하지 마십시오. 어느 것이 든 더 빨리 뽑는다.

  3. 작은 눈금과 격자 선과 같은 외부 요소를 줄이거 나 제거하십시오.

  4. 한 번에 하나의 콜에 포인트 그룹을 제공하는 데이터 소스 메소드 중 하나를 사용하십시오.

    -(NSArray *)numbersForPlot:(CPTPlot *)plot field:(NSUInteger)fieldEnum recordIndexRange:(NSRange)indexRange; 
    -(double *)doublesForPlot:(CPTPlot *)plot field:(NSUInteger)fieldEnum recordIndexRange:(NSRange)indexRange; 
    -(CPTNumericData *)dataForPlot:(CPTPlot *)plot field:(NSUInteger)fieldEnum recordIndexRange:(NSRange)indexRange; 
    
+0

고마워요. 이것에 대한 예가 있습니까? – nullmicgo

+0

# 4 : http://code.google.com/p/core-plot/source/browse/examples/CorePlotGallery/src/plots/ColoredBarChart.m#152 –

+0

답장을 보내 주셔서 감사합니다. Eric. 사실, 전에이 예제 프로젝트를 다운로드했지만 컴파일 할 때 오류가 많습니다 (변경 사항이 없었습니다). 뭔가 발견되지 않았습니다. 이제 core-plot0.4를 사용하여 캔들 스틱 그래픽을 개발했지만 최근 가장 최근 0.9입니다. 0.9로 변경해야한다고 생각하십니까? 내가 바꿀 경우, 나는 많은 코딩을 변경해야만한다 ... – nullmicgo

0

우리는 아이폰 OS 차트의 일부 속도 비교를했고, 그 중 하나는 핵심 플롯이다. 불행하게도 Core-plot은 너무 느려서 첫 번째 테스트를 할 수 없었습니다 !!

큰 데이터를 훨씬 효율적으로 처리 할 수 ​​있었던 다른 차트 구성 요소가있었습니다.

테스트 결과 및 테스트 설정은 여기에 있습니다 : 테이블 형식으로 https://www.scichart.com/ios-chart-performance-comparison

이 네 가지 주요 차트 아이폰 OS 제공 업체 사이의 비교의 결과는 여기에서 찾을 수 있습니다.

iOS Chart Performance Comparison

공개, 나는 SciChart 프로젝트