2011-11-18 6 views
0

많은 양의 그림이 draw2d에 플롯되기를 원합니다. figurecanvas.figures는 많은 메모리를 소비합니다. 나는 그들이 캔버스에 연속적으로 그려지기를 원하지만 기억 문제로 인해 couldnt한다. 이제 내가 아래로 스크롤 할 때 캔버스가 아래쪽에 x 픽셀 (높이)만큼 말을 늘어 뜨려야하고 새로운 데이터가 그곳에 그려지기 위해 같은 부분에 x 픽셀 (높이)는 캔버스 상단에서 제거해야합니다. 캔버스의 경계를 설정하여 시도했지만 바운드가 캔버스의 위치를 ​​데이터와 함께 새로운 위치로 이동하는 것만 큼 바뀌지는 않습니다.SWT는 제한된 캔버스에서 대용량의 데이터를 아래에서부터 크기를 늘리고 위에서 아래로 축소하여 동적으로 플로팅합니다.

답변

1

FigureCanvas에는 프로그래밍 방식으로 스크롤하는 데 여러 가지 방법이 있습니다 (scrollTo(..) , scrollToX(..) 등). 이렇게하면 콘텐츠의 보이는 영역이 변경되어 질문의 후반부에서 원하는 것처럼 들릴 수 있습니다. 그러나 이것이 당신의 기억 문제에 어떻게 도움이 될 것이라고 생각하는지 모르겠습니다. 메모리에있는 그림 개체의 수를 줄이지는 못합니다.

Draw2d에서는 그림을 사용하여 전체 그래픽 콘텐츠 (현재 보이는 부분 만이 아님)를 나타내고, FigureCanvas은 현재 뷰포트에 표시된 부분을 자동으로 그립니다. 현재 캔버스에 표시되는 항목에 따라 그림을 추가하거나 제거하지 않습니다.