devunt / DFAssist

FFXIV Duty Finder & F.A.T.E. Assist
https://devunt.github.io/DFAssist
The Unlicense
65 stars 120 forks source link

프리징 현상 #27

Closed ryuin closed 7 years ago

ryuin commented 8 years ago

잘만 써오다가

어느시점부터

실행후 어느정도 시간이 지나면 (매칭의 연속?)

프리징현상이 빈번하게 발생하던데

다른것보다 이 프로그램을 종료하면 또 멀쩡히 돌아와서...

혹시 해결방안이 있나요?

(다른쪽 문제인가...

devunt commented 8 years ago

음 프리징 현상이 정확히 어떤걸 말씀하시는건가요?

ryuin commented 8 years ago

급격히 속도 저하가 발생하면서 이게 멈춰있는건지 천천히 움직이는건지 모를정도...

인내의 시간을 기다려서 실행중인거 몇가지를 하나씩 종료해봤는데

매칭도우미를 종료하게되면 바로 말끔해지더라구요

devunt commented 8 years ago

음... 제가 한 번도 겪어본 적이 없는 문제라서 확신이 제대로 안 서긴 하는데 일단 확인해보겠습니다.

ryuin commented 8 years ago

arr시절때 인벤에서 처음 글을 보았을 당시 리플에 비슷한 사례를 겪은 분이 계셨던걸로 기억해서 혹시나 하는 맘에 요기에 코멘트를 남길 생각을 했던.. :x
단순히 개인 pc상태에 따라 다른거였는지 orz... 타 프로그램들과 충돌이라던지.. ㅠㅠ..

dlunch commented 7 years ago

dfassist를 2개 켜거나 같은 방식으로 항상 위 기능을 구현하는 프로그램을 동시에 켜면 문제가 생길 수 있을 것 같네요 그냥 HWND_TOPMOST만 이용하지 않는 이유가 있나요?

devunt commented 7 years ago

FWD: @RyuaNerin

RyuaNerin commented 7 years ago

@dlunch 전체창모드를 사용중일때 창 전환을 하면 종종 오버레이가 뒤로 넘어가는 문제가 있습니다.

dlunch commented 7 years ago

그렇군요. 저 방식으로 항상 위를 구현했을 때 같은 동작을 하는 프로그램이 2개면 서로 위로 올라가려고 해서 문제가 생길 것 같은데.. 게임 창 zorder를 가져와서 그거보다 위에 있는 topmost가 되도록 구현하면 되지 않을까요?

RyuaNerin commented 7 years ago

클라이언트의 z-order 만 보고 올라오게 하기에는, 게임을 최소화 해두고 다른 일을 하는 경우도 고려야해야 했기에 SYSTEM_FOREGROUND 이벤트가 발생할때마다 TOPMOST 를 새로 적용했습니다.

또, EVENT_SYSTEM_FOREGROUND 는 Foreground window 가 변경될 때마다 호출되는 이벤트라 문제가 생길거 같지는 않습니다.

dlunch commented 7 years ago

아 topmost를 했다고 foreground가 되는것 아니군요 착각했습니다.