最近用多開,注意到一個現象
直接關Garena會順便把一個War3關掉 (不知道哪版開始改的)
似乎很方便?
實際上,GGC直接暴力關掉War3 (不使用正常方式結束程式)
這樣做的結果就是,程式結束應該做的釋放資源等動作不會被執行
(驗證方式請用message sniffer,看war3不會收到WM_DESTROY就結束
印象中clean up的動作是在WM_DESTROY中做的)
會不會有memory leak,這要看war3是怎麼寫的
其實改成送WM_DESTROY來結束war3就解決了,怎麼會犯這種錯誤?
我有聽過更誇張的內幕,這邊就不方便透露了 (認識管理員的應該都有機會聽到)
像我就很偷懶,MSDN說程式結束會自動釋放的,我就沒手動寫
如果你沒正常結束koala's WC3 helper,我可以告訴你
基本上會有memory leak,某些系統資源會沒機會釋放
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment