[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]

Re: [MD:7279] チケット #237



やまざきです。

Date: Tue, 02 May 2006 13:01:54 +0900 (JST)
From: Hideyuki SHIRAI (白井秀行) <shirai@xxxxxxxxxxx>
Subject: Re: [MD:7279] チケット #237
> 
> 方針を決めたりする前に走っちゃいましたが、落ちちゃうのも悲しいの
> で、どーーんとまとめてコミットしました。

コードチェック&コミットありがとうございました。

process.cのWarningの修正ですが、CVS HEAD自体から
そうなっていたのですね。Meadow固有部だと思っていました。
CVS HEADとの差分はなるべく作らないように(一応は)考えていたので、
この修正はパッチに入れなかった方がよかったのかも。

> ただし、一ヶ所
> 
> --- mw32fns.c	(revision 4064)
> +++ mw32fns.c	(working copy)
> @@ -1957,6 +1957,10 @@
>  	      RELEASE_FRAME_HDC (f);
>  	      EndPaint (FRAME_MW32_WINDOW (f), &ps);
>  	    }
> +	  else
> +	    {
> +	      Sleep (2);
> +	    }
>  	  LeaveCriticalSection (&(f->output_data.mw32->hdc_critsec));
>  
>  	  return 0;
> 
> はデバッグコードかな?と思ったので入れていません。もし、必要なコー
> ドでしたらつついてください。

上記のコードですが、一応以下の意図で盛り込んでいます。

このelse節に入る際は、main thread側の書き換え処理中に、
message threadに切り替わった場合なので、main threadの処理が
ある程度走りきるまで、threadの切り替わりが発生しないように、
message thread側を寝かせています。

今回の排他制御を追加後、結構空回りすることが多いようで、
MewでscrollするとCPU使用率が100%に張り付くのですが、
これをいれると気持ち下がります。

ノートPCでMeadowを使っていて、Mewをつかっていると、
ファンが回りだすことが多いので、数%程度の効果ですが、
負荷を下げる意味でいれました。

必須なコードではありませんが、入れてもらえるとありがたいです。


ちなみにTrac#237で白井さんがコメントされているあと一息は
具体的にはどれをさしていますか?


# 以前のメール(MD:7282)で書いたmouse highlightまわりの問題は、
# Trac#299につけたパッチで個人的には解決しました。

-- 
yamazaki-k(at)mwe.biglobe.ne.jp