[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-users:06961] Re: xearth-ja too large!
- From: "Ken N." <Nakagaki@xxxxxxxxx>
- Subject: [debian-users:06961] Re: xearth-ja too large!
- Date: Mon, 13 Jul 1998 17:48:57 +0900
- X-ml-info: If you have a question, send a mail with the body "# help" (without quotes) to the address debian-users-ctl@debian.or.jp
- X-ml-name: debian-users
- X-mlserver: fml [fml 2.1A#45]; post only from members
- Message-id: <199807130842.RAA01823@xxxxxxxxxxxxxxx>
- X-mail-count: 06961
- X-mailer: mnews [version 1.21] 1997-12/23(Tue)
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