zgnuboyやmplayer-w100にGUIを付けない理由
なんか勘違いしている人がいそうなので書いてみます。GUIを付けないのではなく、付けられないのです。
C++のライブラリはgcc-2系列とgcc-3系列で互換性がありません。システムのlibqtはgcc-2.95.3でビルドされているので、アプリケーションをgcc-3系列でビルドしてもlibqtとリンクできません。
なぜgcc-3系列を使うか?実際にベンチマークを取ってみました。
$ mplayer-gcc2.95.3 -vo null -quiet -benchmark -nosound /mnt/card/RL_HQ_640x352_1024_128.aviBENCHMARKs: VC: 178.890s VO: 0.331s A: 0.000s Sys: 2.849s = 182.071s
BENCHMARK%: VC: 98.2530% VO: 0.1820% A: 0.0000% Sys: 1.5650% = 100.0000%$ mplayer-gcc3.4.2 -vo null -quiet -benchmark -nosound /mnt/card/RL_HQ_640x352_1024_128.avi
BENCHMARKs: VC: 142.582s VO: 0.217s A: 0.000s Sys: 2.785s = 145.584s
BENCHMARK%: VC: 97.9380% VO: 0.1493% A: 0.0000% Sys: 1.9128% = 100.0000%
とまぁこのように、ただコンパイラを変えただけで速度が1.25倍になります。これは馬鹿にできない違いだと思います。
よって最高のパフォーマンスとGUIの両立を求めると、zemfe+zgnuboyのようにGUI部分と本体を物理的に分離し、プロセス間で通信するしかありません。これが非常に手間なんですよ、はい。
なんかいい解決策があれば教えてください。