데이터 모델링에 ObservableMap
을 사용하고 있으며 전체 항목을 업데이트하려고합니다. 초기에 ObservableMap
은 비어 있으며 많은 요소와 비동기 적으로 채워집니다.스칼라 ScalaFX : Observable *의 큰 세트를 다루는 방법
이제는 모든 항목에 대해 onChanged
이벤트가 발생하여 너무 많은 이벤트가 발생하고 GUI가 느려지 게됩니다. 나는 pkgs.clear() ; pkgs ++= newpkgs
을 사용했다.
임시적으로 처리기를 사용하지 않도록 설정하거나 모든 요소를 업데이트하지만 나중에 만 실행되는지도에서 작업을 수행하여 onChanged
을 하나만 트리거하는 방법이 있습니까?
나는 지금 다음과 같은 좋은 해결책이 없다. 데이터 구조에 더미 요소를 추가하고, 더미 요소가 변경되었을 때'onChange' 코드에서 일부 코드 만 실행한다. 마지막으로 업데이트를 수동으로 트리거하십시오. 이 방법은 여전히 수천 개의 onChange 이벤트가 트리거되지만 거의 멍청하다. 그리고 더미 요소를 변경하여 수동으로 업데이트를 트리거 할 때만 실제 업데이트가 발생한다. 실제로는 최적은 아니지만 최소한 솔루션입니다. 물론 GUI 코드의 다른 영역에서이 더미 요소를 고려해야합니다 .-( –