2004. 4. 29. 15:57
     

안녕하십니까 까마굽니다 (__)
흠.. 오늘까지 그래픽 버퍼에 관련된 여러 부분을 테스트하고..
머 별 이상 없는거 같아서 한자 적어 올립니다.
머.. 평소의 저라면 당근 동기화 하는데 세머포어나 뮤텍스를 이용했겠지만..
사실 일케 되면, 그리는 부분에 시간이 상당히 들어가므로 동시에 프로세스가
화면에 그려야 할때, 한놈이 그 윈도우를 선택해서 그리는 동안 다른 프로세스는
그녀석이 다 그리고 락을 내릴때 까지 기다려야 겠지요..
머.. Draw 자체가 빠르다면 큰 문제는 아닌데, 사실 화면에 Draw하는 부분이
다른것들에 비하면 굉장히 시간이 많이 드는 부분이라 자칫 시스템 자체가
느릿해지는 일이 발생할 수도 있어서 단순히 세머포어나 뮤텍스를 이용해서
락을 걸지 않았습니다..
여기서 잠깐 또 언급하자면, 사실 윈도우 전체가 변경되어 다시 그려지는 경우 
역시 앵간하면 드물고( 미디어 플레이어 같은 종류를 제외하고.. ) 이동 또한 
별로 많지 않기 때문에 거의 대부분 버퍼를 있는 그대로 읽어서 그리는 역할이라고
생각됩니다..
그렇다면 사실 배타적인 동작을 할때만 서로 배제를 해주고, 동일한 읽기를 수행할
때는 그냥 읽을 수 있게 하는게 맞지 않습니까??
일단 그런 생각을 가지고 구현했는데요..
흠.. 프로세스 하나가 화면에 열심히 그려도 마우스가 별로 느려지지 않는군요..
윈도우 이동 역시 버퍼의 내용이 그려지거나 변경되고 있는 동안에는 끝날때까지
기다리게 만들어서 그려지다 옮겨져서 나머지가 그려지는 그런 불상사도 처리가
됬습니다.
아직 좀더 지켜봐야 겠지만 일단은 이렇게 해놨는데요..
머.. 별일 없을꺼 같네요..
그럼 좋은하루 되세요 (__)

Android App

Posted by 호기심 많은 kkamagui(까마귀, 한승훈)

댓글을 달아 주세요