2012-06-14 2 views
0

UI를 정지 최대 100 %.여전히이 내가 가진 무엇

UI가 완전히 얼거나 뒤떨어져 있습니다. 진행률 표시 줄로 창을 끌면 5 초 지연됩니다. 낮은 스레드 우선 순위를 사용하여 시도 - 결과가 없습니다.

아마 여기에 뮤텍스가 필요합니까?

+0

UI가 실제로 정지 되었습니까? 아니면 느리거나 느린가요? – Brady

+0

루프 중에 스레드에서 "무언가"때문에 가장 가능성이 높습니다. 거기서 무슨 일이 일어나고있는거야? – Brady

+5

초당 몇 개의 progressChanged 신호를 방출합니까? 신호는 빠르지 만 진행 막대 값을 초당 수백 또는 수천 번 설정하면 UI가 멈 춥니 다. 진행률 표시 줄을 최소로 유지하십시오. 초당 5-10 회의 변경이 충분합니다. –

답변

3

너무 많은 progressChanged 신호를 방출하지 마십시오. 신호는 빠르지 만 진행 막대 값을 초당 수백 또는 수천 번 설정하면 UI가 멈 춥니 다. 진행률 표시 줄을 최소로 유지하십시오. 초당 5-10 회의 변경이 충분합니다.

+0

+1 이것은 Forms 타이머에서 폴링을 권장하는 스레드 작업 중 하나입니다. BitTorrent 클라이언트와 마찬가지로 모든 동료와 함께 모든 메시지에서 진행률과 비율이 업데이트되면 클라이언트가 폭발 할 수 있습니다. –