[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:06961] Re: xearth-ja too large!



In <199807130720.QAA01059@xxxxxxxxxxxxxxxxxxxxxxxx>
[debian-users:06957] Re: xearth-ja too large!, Jul.13 '98 16:21 JST
kohda@xxxxxxxxxxxxxxxxxxxx says:
=   
=   ごくわずかですがメモリ使用が増えてはいるようなのですが,
=   パッチを見るかぎり他には何もしてないようですが。
=   起動直後に ps lu での %MEM が 2.7% だったのが一時間ちょっとで
=   3.8% になっています。(以前は 50% を越えてたような)

XFreeFontSet()もmemory leakしているのかもしれません。MotifやXlibは
その内部でさえmemory leakする場合が少なくないんです。

`draw_outlined_string()'関数は頻繁に呼び出されているであろうという
ことが容易に想像できます。もしも、XFreeFontSet()がわずかでもmemory
leakしていれば、その累積はばかにならない量になるでしょう。

この場合の本質的解決は、XCreateFontSet()の呼び出しタイミングを変更
することです。draw_outlined_string()を良く見てみるとわかるように、
この関数の中で毎回FontSetを生成する必然性があるとしたらそれは、
draw_outlined_string()が毎回異なるDisplayを与えられて呼び出される
場合だけです。これが成り立たないならば、FontSet生成を、例えば
command_line_x()関数の中で一度だけ行なうようにしてもいいわけです。


ところで、このソースパッケージ、日本語対応のための変更部分がよくわ
からないですね。Debian-JPの場合、「大元ソース + 日本語対応patch適用」
を orig.tar.gz とするんでしたっけ。

xearth-ja_1.0-0bo3.diff.gz のなかで、

	--- xearth-ja-1.0.orig/x11.c.orig
	+++ xearth-ja-1.0/x11.c.orig
	@@ -0,0 +1,1293 @@
	...

とあるのは日本語patch適用前のもともとの x11.c を x11.c.orig として
復活しているんでしょうが、個人的には、なんか、こう、すっきりしない
ですね。でも、これはしかたないのかな。


=    > #それにしても、なんでXCreateFontSet(3)のman pageがないんだろう。
=    >  なにか入れ忘れたかな。

#そうか、xmanpagesだったのか。一応本家のサーチエンジンも使ったんだけ
 ど見付からなかった... あ、素直に「manual」で検索すれば良かったのかも。


 -.- . -. -.
Ken Nakagaki <kenn@xxxxxxxxxxxxxxxxx>, <Nakagaki@xxxxxxxxx>
「人は船ではない。人は会社ではない」-- Gerry Spence