2009-07-10 3 views
2

라인리스트 차트를 사용하고 있지만, 총 포인트 수가 1200 포인트가 될 때 새 포인트를 추가 할 때 렌더링이 상당히 느립니다. 허락하신다면, 이것은 상당히 느린 PC (~ 600 MHz)에서 실행 중입니다. 렌더링 속도를 높이는 방법에 대한 Flex 설명서 읽기 (dropshadows 끄기, filterData 끄기 등)는 도움이되지 않습니다. 내 차트를 ArrayCollection (전에 수동으로 업데이트 한 배열보다)에 바인딩하면 더 빠를 것 같습니다. 어도비의 설명서는 Chart가 마지막으로 업데이트 된 이후로 변경된 사항만을 보여 주지만 한 점만 추가한다고 생각합니다! 그들의 정보가 맞다면 왜 ~ 1200 포인트가있을 때 한 포인트를 업데이트하는 데 더 오랜 시간 (5 초)이 걸리겠습니까? 그런 다음 2 포인트 (인스턴트) 만 가질 수 있습니까?Flex에서 차트 렌더링 속도를 높이려면 어떻게해야합니까?

FYI - ArrayCollection에 새 포인트를 추가 할 때 데이터 바인딩에서 새 데이터를 가져 오려면 "AC.refresh()"를 수행해야합니다. 프로세스 속도를 높이기 위해 할 수있는 것에 대한 아이디어가 있습니까?

+0

포인트를 평균하여 그리드에 더 적은 포인트를 표시 한 다음 사용자가 더 많은 포인트를 표시하는 그리드 섹션을 "확대"할 수있게 해 주셨습니까? 월을보고 개월 단위로 주를 확대하는 것 –

답변

1

플래시/플렉스에서 1200 포인트가있는 그림은 다시 그릴 때 느리게 수행됩니다. 추가 점을 추가하면 전체 계열이 무효화됩니다. 차트가 무효화되면 사용 가능한 다음 기회에 차트가 다시 그려집니다. 이 다시 그리기가 느려집니다. 이건 내내 두려워.

내 말은 왜 한 번에 차트에 1200 포인트를 표시해야하는 이유입니까? 이 차트를 읽는 사람은 누구나이 모든 정보를 가져갈 수 없습니다. 이러한 포인트의 추세를 보여줄 필요가 있다면 디자인을 변경하여 평균을 표시해야합니다 (Chris의 의견에 따라). 당신이 사용할 수있는 다른 전략도 있습니다. Fiat Eco Drive 응용 프로그램을 살펴보면 한 번에 최대 범위 만 표시하도록 선택합니다. 그래서 우리는 수백 또는 수천의 점수를 가질 수는 있지만, 그 중 일정량 만 표시합니다.

다른 전략이 많습니다.이 문제를 해결하려면 차트 디자인을 다시 살펴보고 실제 차트 구성을 리팩터링해야합니다.

+0

내가 결정한 것은 모든 값을 그래프로 표시하는 것이 아니라 내 데이터를 2 분짜리 청크로 나누고 그래프의 2 포인트를 그려주는 것입니다. 그 중 최대 값과 최소값은 " 큰 덩어리". 그렇게하면 평균으로 인해 손실되지 않고도 데이터에서 봉우리와 계곡을 볼 수 있습니다. – Seidleroni

+0

좋은 하나! 좋은 선택 –

0

차트의 렌더링 시간이 거의 렌더링 시리즈에서 왔기 때문에 dataProvider를 변경하고 시리즈 수를 유지하면 차트가 두 번째부터 매우 잘 렌더링됩니다.

관련 문제