많은 양의 그림이 draw2d에 플롯되기를 원합니다. figurecanvas.figures는 많은 메모리를 소비합니다. 나는 그들이 캔버스에 연속적으로 그려지기를 원하지만 기억 문제로 인해 couldnt한다. 이제 내가 아래로 스크롤 할 때 캔버스가 아래쪽에 x 픽셀 (높이)만큼 말을 늘어 뜨려야하고 새로운 데이터가 그곳에 그려지기 위해 같은 부분에 x 픽셀 (높이)는 캔버스 상단에서 제거해야합니다. 캔버스의 경계를 설정하여 시도했지만 바운드가 캔버스의 위치를 데이터와 함께 새로운 위치로 이동하는 것만 큼 바뀌지는 않습니다.SWT는 제한된 캔버스에서 대용량의 데이터를 아래에서부터 크기를 늘리고 위에서 아래로 축소하여 동적으로 플로팅합니다.
0
A
답변
1
FigureCanvas
에는 프로그래밍 방식으로 스크롤하는 데 여러 가지 방법이 있습니다 (scrollTo(..)
, scrollToX(..)
등). 이렇게하면 콘텐츠의 보이는 영역이 변경되어 질문의 후반부에서 원하는 것처럼 들릴 수 있습니다. 그러나 이것이 당신의 기억 문제에 어떻게 도움이 될 것이라고 생각하는지 모르겠습니다. 메모리에있는 그림 개체의 수를 줄이지는 못합니다.
Draw2d에서는 그림을 사용하여 전체 그래픽 콘텐츠 (현재 보이는 부분 만이 아님)를 나타내고, FigureCanvas
은 현재 뷰포트에 표시된 부분을 자동으로 그립니다. 현재 캔버스에 표시되는 항목에 따라 그림을 추가하거나 제거하지 않습니다.