【悲報】Adobe ReaderのWeb Pluginは使ってはいけない事が判明
Windows 2000で Adobe Reader X 以降の Web Plugin が正常に動作しないことについて以下の仮説を立ててみた。
Windows 2000の場合、デバイスコンテキスト を転送した場合、実際に表示されていないと転送することができない。
だから、Adobe Reader を丸ごと裏で起動して、転送してるだけじゃないか?って思ったのね

起動すると2つの AcroRd32.exe ってプロセスが立ち上がるんだけど
一つはブラウザのフォルダから起動された
“C:\Program Files\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe” –type=renderer /o /eo /l /b /id 9640
もう一つは、System32フォルダがカレントになっている
“C:\Program Files\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe” /o /eo /l /b /id 9640
9640は ブラウザの PIDなんで、明らかにレンダリングをターゲットのプロセスに対しておこなってる感じ(笑)
ためしに、このプロセスを落として、転送ができないようにしてみよう

Windows 2000と同じ状態になったよ!
試しに、PDF表示した状態で、画面内のプロセスIDを取得してみると…。

AcroRd32.exe だってかえってきたよ!
要するに、Adobe Reader のWeb Plugin はレシーバーになっていて、本体を起動して接続するだけの仕組みになってるんだ
直接実行時
AcrobatSDIWindow(books2009.pdf (保護) – Adobe Acrobat Reader DC) – AVL_AVView – AVL_AVView
Plugin
GoannaPluginWindow – Static(http://www.shikisensha.com/books2009.pdf (保護) – Adobe Acrobat Reader DC)
+- AVL_AVView – AVL_AVView
こんな感じで中身丸ごと アドビリーダーに接続。
だから、Adobe Reader でPDF見るのなら、ダウンロードして、Adobe Reader を直接起動してから閲覧した方がメモリの消費量も、plugin コンテナと Adobe Reader のレシーバーを読み込まなくていい分軽くなるんだ。
消費メモリ(Plugin)
消費メモリ(直接起動)![]()
ほらね
誰だよ、こんなアホな仕様考えたの・ω・
内蔵の PDFリーダーか、まともな Plugin対応の PDF リーダー使った方が賢明だね!
ちなみに、Plugin 使うと、タブ閉じたときに、Adobe Reader のプロセスが残ってメモリ食ったままになる事もあるよ!


Comments