vine-users ML アーカイブ



[vine-users:053722] gtk-engines 使用時の sylpheed の POP 受信 不具合

  • From: "OOSATO,Kazzrou" <kazz@xxxxxxxxxxxxxx>
  • Subject: [vine-users:053722] gtk-engines 使用時の sylpheed の POP 受信 不具合
  • Date: Sun, 22 Sep 2002 18:58:25 +0900
おおさとです。

以前、sylpheed の ML には現象の報告を投げたのですが、それっきり
追及もしないで、放っておいた不具合があります [sylpheed-jp:01956]。
今回、LC2002 の .org でコピーさせて頂いてきた Vine-2.6 beta のテ
ストをするにあたっても、同じ不具合が出るので、ちょっと本気になっ
て調べてみました。とはいっても、gtk には全く疎いので、ソース等は
追いかけていません。


現象:
  gtk-engines をインストールした Vine-2.5 で、sylpheed の POP 受
  信が極端に遅くなります。
  - gtk-engins を un-install すると、正常になります。
  - libpixmap.so を消しても直ります。
  - sylpheed のバージョンは、最近の 0.7.x 以降のものをいくつか試
    しましたが、どれも同じです。
  - どれぐらい遅くなるかというと、同一 LAN 上の POP サーバから
    sylpheed で受信する場合、
      gtk-engines あり: 2200 通を 30 分
      gtk-engines なし: 2200 通を 18 秒
    と約 100 倍の速度差が出ます。


調査:
  RedHat7.3 等の他のディストリビューションではこの現象は出ません。
  どうも、Vine で設定されている theme の影響か?
  切り替えながらやってみると、以下の "# NG #"を付けた theme の
  場合のみ遅くなります。  

  ~$ cat /etc/gtk/gtkrc
  style "gtk-tooltips-style" {
    bg[NORMAL] = "#ffffc0"
    fg[NORMAL] = "#000000"
  }
  
  widget "gtk-tooltips" style "gtk-tooltips-style"
  
  style "gtk-progressbar-style" {
    bg[NORMAL] = "#ffffff"
    bg[PRELIGHT] = "#a0a0a0"
  }
  
  class "GtkProgressBar" style "gtk-progressbar-style"
  
  ##include "/usr/share/themes/5/gtk/gtkrc"                 # OK
  ##include "/usr/share/themes/AbsoluteE/gtk/gtkrc"         # NG #
  ##include "/usr/share/themes/Basic/gtk/gtkrc"             # OK
  ##include "/usr/share/themes/BeCool/gtk/gtkrc"            # NG # - vine-2.5 default
  ##include "/usr/share/themes/Beta/gtk/gtkrc"              # NG #
  include "/usr/share/themes/Blue-n-Gray/gtk/gtkrc"       # OK
  ##include "/usr/share/themes/BlueSteel/gtk/gtkrc"         # NG #
  ##include "/usr/share/themes/BlueTheme/gtk/gtkrc"         # NG #
  ##include "/usr/share/themes/Bluthe/gtk/gtkrc"            # OK
  ##include "/usr/share/themes/BrushedMarbles/gtk/gtkrc"    # OK
  ##include "/usr/share/themes/BrushedMetal/gtk/gtkrc"      # OK
  ##include "/usr/share/themes/BrushedMetalClean/gtk/gtkrc" # OK
  ##include "/usr/share/themes/Cheese/gtk/gtkrc"            # OK
  ##include "/usr/share/themes/Chrome/gtk/gtkrc"            # OK
  ##include "/usr/share/themes/CoolIce/gtk/gtkrc"           # OK
  ##include "/usr/share/themes/Coolness/gtk/gtkrc"          # OK
  ##include "/usr/share/themes/Default/gtk/gtkrc"           # OK
  ##include "/usr/share/themes/Expensive/gtk/gtkrc"         # NG #
  ##include "/usr/share/themes/ForestGreen/gtk/gtkrc"       # OK
  ##include "/usr/share/themes/GTK_LCARS/gtk/gtkrc"         # NG #
  ##include "/usr/share/themes/Gradient/gtk/gtkrc"          # NG #
  ##include "/usr/share/themes/Iceberg/gtk/gtkrc"           # NG #
  ##include "/usr/share/themes/Jander/gtk/gtkrc"            # NG #
  ##include "/usr/share/themes/Jed3/gtk/gtkrc"              # NG #
  ##include "/usr/share/themes/LCARS/gtk/gtkrc"             # NG #
  ##include "/usr/share/themes/LCD/gtk/gtkrc"               # NG #
  ##include "/usr/share/themes/LightSpeed/gtk/gtkrc"        # OK
  ##include "/usr/share/themes/Marble/gtk/gtkrc"            # NG #
  ##include "/usr/share/themes/Marble3D/gtk/gtkrc"          # OK
  ##include "/usr/share/themes/Metal/gtk/gtkrc"             # OK
  ##include "/usr/share/themes/Metallic/gtk/gtkrc"          # OK
  ##include "/usr/share/themes/MockMack/gtk/gtkrc"          # NG #
  ##include "/usr/share/themes/MorphiusX/gtk/gtkrc"         # OK
  ##include "/usr/share/themes/Muffy/gtk/gtkrc"             # OK
  ##include "/usr/share/themes/Notif/gtk/gtkrc"             # OK
  ##include "/usr/share/themes/Notif2/gtk/gtkrc"            # OK
  ##include "/usr/share/themes/OldWood/gtk/gtkrc"           # OK
  ##include "/usr/share/themes/Pixmap/gtk/gtkrc"            # OK
  ##include "/usr/share/themes/Porcelain/gtk/gtkrc"         # OK
  ##include "/usr/share/themes/Raleigh/gtk/gtkrc"           # OK
  ##include "/usr/share/themes/RatsTheme/gtk/gtkrc"         # OK
  ##include "/usr/share/themes/Redmond95/gtk/gtkrc"         # OK
  ##include "/usr/share/themes/Scalpel/gtk/gtkrc"           # OK
  ##include "/usr/share/themes/ShinyMetal/gtk/gtkrc"        # NG #
  ##include "/usr/share/themes/Skiberg/gtk/gtkrc"           # NG #
  ##include "/usr/share/themes/Smoke/gtk/gtkrc"             # OK
  ##include "/usr/share/themes/Smoke-full/gtk/gtkrc"        # OK
  ##include "/usr/share/themes/SoulTrip/gtk/gtkrc"          # OK
  ##include "/usr/share/themes/Stone/gtk/gtkrc"             # OK
  ##include "/usr/share/themes/ThinIce/gtk/gtkrc"           # OK
  ##include "/usr/share/themes/ThinSki/gtk/gtkrc"           # OK
  ##include "/usr/share/themes/Tiger/gtk/gtkrc"             # OK
  ##include "/usr/share/themes/Torpedo/gtk/gtkrc"           # OK
  ##include "/usr/share/themes/Turismo/gtk/gtkrc"           # OK
  ##include "/usr/share/themes/WoodenScraps/gtk/gtkrc"      # OK
  ##include "/usr/share/themes/Yell-O/gtk/gtkrc"            # OK
  ##include "/usr/share/themes/Zap5/gtk/gtkrc"              # OK
  ##include "/usr/share/themes/buffyEro/gtk/gtkrc"          # OK
  ##include "/usr/share/themes/buffyIno/gtk/gtkrc"          # OK
  ##include "/usr/share/themes/buffyMagic/gtk/gtkrc"        # OK
  ##include "/usr/share/themes/buffyNess/gtk/gtkrc"         # OK
  ##include "/usr/share/themes/buffyRio/gtk/gtkrc"          # OK
  ##include "/usr/share/themes/eMock/gtk/gtkrc"             # NG #
  ##include "/usr/share/themes/etheme/gtk/gtkrc"            # NG #
  ##include "/usr/share/themes/gtkrc.forestgreen/gtk/gtkrc" # OK
  ##include "/usr/share/themes/lauxes/gtk/gtkrc"            # OK
  ##include "/usr/share/themes/lcdtheme/gtk/gtkrc"          # OK
  ##include "/usr/share/themes/metallic_plum/gtk/gtkrc"     # NG #
  ##include "/usr/share/themes/odo/gtk/gtkrc"               # OK
  ##include "/usr/share/themes/pixmaps/gtk/gtkrc"           # OK
  ##include "/usr/share/themes/tildouf/gtk/gtkrc"           # NG #


とりあえず対策:
  gtkrc の中味を比較してあたりをつけてみて、window クラス中の
  stretch = TRUE が影響しているらしいと気が付きました。
  stretch = FALSE にすると直ります。
  (例)
  style "window" 
  {
    engine "pixmap" {
      image 
        {
          function        = FLAT_BOX
          recolorable     = TRUE
          file            = "greybg.png"
          border          = { 0, 0, 0, 0 }
  #       stretch                 = TRUE
          stretch                 = FALSE
        }
    }
  }

  これによる、他への影響は分かりません。詳しい方フォローお願い
  します。
  また、同様な問題が、sylpheed 以外でも発生しているのか?よくわ
  かりません。


じつは、Vine-2.5 の初期から問題に気が付いてはいたのですが、たん
に「遅いよ」だけじゃどうしようもないのと、自分的には gtk-engines
を入れなければ済むので、調査と報告が遅れてしまいました。

# いままで、他の方から指摘がないのは Vine + sylpheed で大量・高
# 速のメールを使う人がいないからなのでしょうかね?

-- 
  ;      kazz@xxxxxxxxxxxxxx
  ;     oosato@xxxxxxxxxxxxx
  ; 大里和朗@江戸川区西葛西