To do, not to do


某方面の wiki 向け初稿。To do リストや not to do リスト(作業するつもりはないっリスト)、 テストや疑問点、FYI の書き散らし。 ... のはずだが、疑問点しか並んでねーな。

ぱーっと書き出せば、 興味をもつのは疑問点であって解決済の問題じゃないんだから、そら前者しか出てこんよな。

BIOS 〜 kernel 層

  何にもしなくても load average が 2.0 って何だ。

  サウンドバッファは 8kB x 8 の64kB.  内部的に 128kB まで ioctl で増やせる。
  書き換えて 512kB にしてみたが ... 重負荷での音飛び変わらん。

  ペン飛びはカーネル由来と libqte 由来の二つ? ペンに対して遅れながらもペンイベントが
  起きる場合と、まったくペンイベントが出ない場合がある。タッチパネルのバッファが小さいのか?  

  /dev/shm 内に巨大なファイルを作り、そして消す。メモリ消費量のバッファの項が
  作った瞬間、消した瞬間に増減した。作ったほうは若干多めに、消したほうは同量だけ。
  作ったほうは本来のバッファが付け加わったか。

  /proc/stat の user, system, nice time について。nice は user, system に含まれていると
  man top(1) にあるが、実際には含まれていない。nice で動いてるプロセスが多いので user 値は
  正しい値を返さない。nice 値を加える。

  ROM 中のカーネル/initrd.bin の境は drivers/mtd/maps/discovery-flash.c の 
  discovery_partitions[0] の offset と updater.pro の initrd.bin の
  開始位置を変えることで出来る?

  /dev/apm_bios の ioctl で suspend から自発的に起き出す時刻を設定できるらしい。どうやって?

  CPU 利用率を眺めていると 1 分に 1 回 system usage が 10% ほど跳ねる。この heartbeat は
  何に由来するか? /proc/sys/vm/bdflush ではなかった。

libc 層

  locale, gconv なしでなぜ動く?

libqte 〜 libqpe 層

  キーイベントとして漢字キーは QMultiLineEdit レベルでは取れない。それ以前に誰か食べてる。
  変換キー(SPACE)その他はそのまま取れる。
  日本語IM は QMultiLineEdit, QLineEdit からのみ利用可? On the Spot 変換でこの両者は挙動が
  異なる (変換文字列が行右端に達したとき、下の行にうつる or 文字列全体が左シフトする)。
  これは (Housekeeping functions は libsl にあるにしても) on the Spot の実装自体は 
  widget 層にあることを意味するか?

  IM の変換モードの変更の通知は QSignal によるのかイベントによるのか? おそらく QSignal だとして、
  それをこれらの widget はフックしているか?

  QMultiLineEdit の内部実装には手を加えない。この条件でスクラブを QMultiLineEdit を使うアプリに
  追加実装できるか? Inherit させれば可能なのは分かり切っているが、それでは既存のアプリで使えない。

  plugins/inputmethods は Qt::Key_F20 等をキーイベントとして emit すると、日本語 IM が以下の
  シンボルに対応する動作をする。これらのキーイベントは parent process には伝わらない。

      英数      Key_F20  EISU  
      半角      Key_F21  ZEN
      音訓      Key_F23  ONK   
      変換      Key_F24  HEN   
      漢字      Key_F25  KNJ   
      カナ      Key_F26  KNA   
      カナ変換  Key_F27  HKNA  
      全半変換  Key_F28  HHAN  
      英数変換  Key_F29  HEI   

  ところで Key_F22 に相当するシンボルが抜けている。これは何だ?

  手書き認識はキーイベントを送っていない。paste buffer 経由で string を送っている。
  この paste 動作中のペンイベントはほぼ確実に落ちる。この周辺は single thread なのか?

  メモ帳をのぞくシャープ製アプリのすべてが座標を決め打ちして描画している。Landscape でも
  portrait に描画して画面が切れたり、右がなかったり。同じアプリでも qtopia-free は問題が
  少ない。わざわざ改悪してるということはシャープさんてば Qt の layout manager の挙動
  まったく理解できなかったね?

  右上の help, close ボタンなどが指で押すには小さい。大きくすることはできるか?

  一般に toolbar のボタンは QFrame の上部にでる。下に並べる一般的な方法はあるか?
  片手で SL-A300 を扱うなら下に並べたい。上では親指が届かない。

  plugins/inputmethods/keyboard の ctrl は qtopia-free 1.5.0 のものばバグっていた。
  同種のバグは 1.6.0 にも シャープの 1.5.0 を名のる keyboard にもない。実体は 1.6.0 か?

  qtopia-free 1.6.0 は libqte 2.3.2 との組で使えるか? また、その出来は?


Application 層

    mpg123 と mad(FPM_ARM 版) と mad(ASO_IMDCT 版) では、 CPU 使用率が
    mad(FPM_ARM 版) < mad(ASO_IMDCT 版) <  mpg123.
    同梱されている ASO_IMDCT (ARM のアセンブラ版) が FPM_ARM (C の ARM 最適化版)
    より遅いって何だ? libmadplugins は mad(C 版) 由来で build されているようだが、
    やはり ASO_IMDCT 版との比較のうえか?

    mpg123 にせよ mad にせよ、CPU 使用率は 30% 内外である。opie-player の 90-100% 台というのは
    何に CPU を使っている?

    mpg123 の output buffer を増やしてみたが、音飛びには影響なかったように思う。
    高負荷時にのみ起きるため、安定した試験が難しい ...

    embedded-konsole のフォントセレクタにバグ? 文字幅とカーソル移動幅の不一致がおきることがある。
    top を 2 時間ほど動かしていると凍った。

    konsole にある 1 行消去のバグは embedded-konsole にもあった。
    また、同様に signal(SIGWINCH) も発行していない。もう止めとけ、konsole 使うのなんて。

    opie-player, qinstall など多くのアプリが ~/ 下を全数探索している。その必要がなければ ~/ 以下に
    巨大なディレクトリを nfs マウントすべきでない。/ からの探索でなく、/proc/mounts 
    からデバイス名を取得し、それぞれについて探索している。

    emacs or console を native で実装するにあたって QMultiLineEdit は使えるか?
    canuum よろしく QLineEdit は?
    焦点はおそらく IM が仮名漢字変換モードにいるか否かを widget or application が
    低コストで取得できるかどうか。さっさと API 公開してくれ > シャープ。

    PyQt を実行すると libqte で symbol が足りないと言われる。PyQt を直すのか、
    libqte に付け加えるのか?

    QPF → BDF,TTF はどうやって実装する? libqte 内に手を入れると簡単になるか?
    問題はどちらかというとグリフイメージの取得ではなく、フォントの存在範囲である。
    UTF8 の領域に非常に sparse にグリフが存在している。


[日記へ] [目次へ]