トップ 最新

かってきままな日々

2022-01-01 (Sa) [長年日記]

_ 叛逆の物語

劇場版 魔法少女まどか☆マギカ[新編]叛逆の物語。

ニコニコ動画にあったので見た。これ見るの2回めかな。あんまり覚えてなかった。

TV シリーズももうあんまり覚えてないわ… そうか。TV シリーズ最初に転校してきたの、ほむらだっけか… でまどかが校内を案内 したんだっけ。で、劇場版最後では逆なのね。

_ pgtk のデバッグ

~/.emacs に

(global-flycheck-mode)

と書くと、次回起動時から、C-f 押してからカーソルが実際に移動するまで、 ほんの若干の遅延がある問題。 X build だとそんなこと起きないので pgtk の問題なわけだけど。

  • キーを押す
  • key press イベントが来る
  • im の filter が TRUE を返してくるので、そのイベントは処理しない
  • ここで pselect が 200ms 程度 sleep する
    • 指定した timeout 時間はもっと長い
  • wakeup した時には、compositor との接続から読めるっていうフラグが立ってる
  • key press イベントがまた来てる
  • 調べると、最初と同じイベント
  • ここでは im の filter が FALSE を返してくるので、そのイベントを処理する
  • カーソルが動く

従ってキーを押してからカーソルが動くまで若干の遅延があるという…

そもそもなんで同じイベントが2回来るのか、im がどう区別して TRUE/FALSE を返し分けてるのかもわかってないけど。

pselect で 200ms も待ってる理由がよくわからんのよね。 input method 本体とやりとりしてるんじゃないのか? と思ってる。 ただ、だとすると、

  • なぜ X build で起きないのか?
  • なぜ ~/.emacs に書いた場合に起きるのか?
    • 代わりに emacs 起動後に M-x global-flycheck-mode しても発症しない

がわからない。