[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[FDclone-users:00686] Re: slow response w/ INPUTKCODE=UTF8-mac
- Subject: [FDclone-users:00686] Re: slow response w/ INPUTKCODE=UTF8-mac
- From: Takashi SHIRAI <shirai@unixusers.net>
- Date: Mon, 05 Feb 2007 23:47:46 +0900
しらいです。
In Message-Id <86bqk96oe8.knu@iDaemons.org>
"Akinori MUSHA" <knu@iDaemons.org>さんwrites:
> FDclone を INPUTKCODE=UTF8-mac で使うと、コマンドライン編集の
> キー入力に対するレスポンスが目に見えてもたつきます。
Unicode は mapping に法則性がないので、テーブル検索せざる
を得ない分どうしても処理が遅くなってしまいます。
その点を少しでも緩和させるために UNICODEBUFFER という変数
を用意してあるんですが、それを設定してもまだもたつくでしょう
か?
> 00-7f の範囲だけでも速く打てればうれしいのですが、調整は可能
> でしょうか。
UTF8-iconv と違って UTF8-mac では normalization forms によ
る正規化を行なっています。この対象には 00-7f の範囲も含まれ
ます。
例えば U+00c0 は U+0041 と U+0300 の合字としても表現するこ
とが出来ます。U+0300 は合字用の accent grave 記号ですね。こ
れらは同一視されなくてはなりません。
キーボードから「A」が入力された後、U+0300 が後続して入力さ
れないようなら「A」だと確定出来ますが、それには「A」の後一定
時間待ってやる必要があります。
ここで待っている分だけ反応が鈍く感じるかも知れません。厄介
なのは承知の上ですが、これが Mac OS X のルールなんですから仕
方ありません。
因みに、この待ち時間は term.h の WAITMETA という macro で
定義されます。既定値は 120ms です。これを短くすれば多少はレ
スポンスが良くなる筈です。
実際、Cygwin 環境ではこれを 36ms に設定しています。これは
Cygwin の emulation が遅過ぎて 120ms も待っていたのでは実用
的でないのと、そもそも Cygwin を remote で使ってキー入力に遅
延が生じる環境が考えにくいという二点に起因します。
それ以外の環境でこの値を小さくした場合、remote 環境でキー
入力に遅延が生じると U+0041, U+0300 という一文字が「A」と合
字用 accent grave の二文字として解釈される可能性があります。
その危険を侵してでもレスポンスを速くしたい場合は、自己責任
でお試し下さい。
# 今時そんな遅い環境なんてないと思ってる方もいらっしゃるで
#しょうけど、地球の裏側まで remote 接続してると 120ms でも
#まだ十分ではないんですよね。
# HP の test drive を使ってると、あれは NY 辺りにサーバが
#あるらしくて、特殊キーや META キーが時々化けてしまいます。
しらい たかし