(연관된 글이 1개 있습니다.)
안녕하세요. 사이트를 통해 업무하는데 항상 많은 정보를 얻고 있어서 너무 감사합니다.
응용소프트웨어 전문 프로그래머는 아니지만, 반도체 장비 업계에서 자동화 설비를 담당하다보니,
종종 고객의 요청으로 원하는 디자인으로 사용자 컨트롤을 자주 만들어 사용하고 있었는데,
각종 속성의 변경이나, 이벤트 발생 시에 해당 컨트롤을 다시 갱신하기 위해서 주로 Invalidate를 호출하고 있었는데,
느낌의 차이일 수는 있지만, UI 구성이 복잡해지거나, 많은 컨트롤들을 표시하다보면 종종 갱신이 바로 안되는 것 같은 느낌이 들때가 있어
찾아보다보니 갱신 방법에는 Invalidate, Update, Refresh 세 가지 방법이 있더라구요.
MSDN 만으로는 세 가지의 내부 구동 방식이나, 명확한 성능이나 용도면에서 잘 이해가 되지 않아 문의드립니다.
제가 이해한 바로는 Invalidate는 WM_PAINT에 해당하는 메시지 루프에 추가하여 비동기적으로 작동하는 것 같고,
Update나 Refresh는 동기적으로 작동하는 것 같은데, 그렇다면 Update나 Refresh의 차이는 무엇이고,
제가 이해한 바가 맞다면 많은 컨트롤을 갱신하는 경우에는 오히려 Update나 Refresh가 더 느려질 수 있는 것 같은데 이해한 바가 맞을까요?
[연관 글]
[최초 등록일: ]
[최종 수정일: 2/26/2021]