저는 dygraphs를 사용하여 개발중인 웹 거래 플랫폼에서 캔버스 기반의 주식형 차트를 생성하고 있습니다 - source here. 데이터는 WebSocket 연결을 통해 웹 클라이언트에 전달됩니다.dygraphs 그래프의 메모리 사용량을 줄이는 방법
소스를 보면 배열 (chartData
)의 데이터가 소켓을 통해 들어오고 (줄 100) 차트에 데이터가 추가되고있는 것을 볼 수 있습니다. dygraphs 차트는 updateOptions (줄 111)를 통해 차트를 표시하므로 최신 데이터를 사용하여 차트가 다시 그려집니다.
잘 작동하며 성능이 좋습니다. 그러나 약 1 시간 후에 10,000 개의 데이터 항목이 차트에 추가되면 Chrome 사용중인 페이지가 메모리 사용으로 인해 충돌합니다. 데이터는 차트와 배열 (chartData)에 모두 저장되므로 하나의 웹 페이지에 대한 메모리 덩어리라고 생각합니다. 게다가, 나는 돼지 인 ExtJS를 사용하고있다.
차트의 메모리 사용량을 줄이는 방법에 대한 제안이있는 사람이 있습니까?
흠. 이것은 저에게 아이디어를 제공합니다 ... 나는 가장 최근의 데이터 (예를 들어, 1 분)를 제외하고 모든 데이터를 평균화하여 지수 이동 평균을 나타낼 수 있습니다. 그럼, 나는 데이터의 일부만 표시하는 것으로 도망 갈 수 있습니다 ... –