DataGridView에 대한 업데이트를 수행하는 대부분의 CPU 시간을 사용하는 C#/.Net 응용 프로그램이 있습니다. 나는 매 1.5 초마다 수동으로 데이터를 업데이트하고 변경된 데이터 만 업데이트한다. 1.5 초마다 약 250 건의 업데이트가 발생합니다. 1.5 초를 훨씬 더 작은 수 (0.5 초 정도)로 줄이고 싶습니다. 가능한 한 많은 프로파일을 작성하고 최적화했으며, 성능이 좋았지 만 더 빨리 진행하고 싶습니다.DataGridView 성능 - 비디오 카드에 따라 다릅니 까?
제 질문은, NVIDIA FX1800에서 NVIDIA FX3800으로 비디오 카드를 업그레이드하면 상당한 속도가 향상됩니까?
실제로 변경된 셀에 대해서만 PropertyChanged 이벤트를 호출합니다. 이것이 "게으른로드"에 의한 것이라고 생각하거나 추측합니다. DataGridView에는 약 30 개의 열과 약 30 개의 열만 있으므로 매우 많은 양의 데이터가 표시되지 않습니다. 문제는 초당 업데이트 수와 관련이있는 것 같습니다. –
확인. 그것은 조금 바뀐다. 내가 업데이 트에 모든 것을 교환에 균열 걸릴 것입니다. 900 세포 중 150 세포의 변화가 꽤 높습니다. 업데이트를 중지하고 모든 변경 사항을 업데이트 한 다음 업데이트를 시작하지 않는 한 (아마 더 빠름). 900 세포가 즉시 있어야합니다. 스크롤 위치를 기록하고 UI를 새로 고친 다음 스크롤 위치를 복원합니다. 다행히도 이것은 매끄럽게 진행될 것입니다. 그래도 작동하지 않으면 다른 컨트롤을 찾아야합니다. 이것은 적은 양의 데이터입니다. 게으른 로딩은 수천 개의 레코드 중 10 개를 생각하고 컨트롤에 100 개 정도만 넣는 것입니다. – TheJacobTaylor
죄송합니다. 당신이 무엇인지 확신하지 못합니다. TheJacobTaylor - 위의 의견을 말씀드립니다. "업데이트에서 모든 것을 교환하는 것"은 무엇을 의미합니까? 현재 Tick 이벤트 핸들러가 변경된 모든 셀에 대해 PropertyChanged 이벤트를 발생시키는 Timer가 있습니다. 이 타이머의 간격은 1.5 초입니다. 또한 "UI 새로 고침"이라고 할 때 DataGridView.Refresh()를 호출한다는 의미입니까? –