昨日の記事では、今日、次バージョンのMirror-DTCの変更点の詳細について書く、みたいな終わり方をしていたのだが、今日はAmuseGraphicsのレジストユーザー向け追加提供ソフトにUbuntu18.04LTS用を追加したので、ブログ的にも、それ絡みの話にしておく事にする。AGMPlayerのUbuntu18.04LTS用バイナリだ。BattlerとMirror-DTCについては、既に、ホームページを更新し、Ubuntu18.04LTSでは、gtkmmライブラリを追加して、Ubuntu16.04LTS用を利用して下さい、みたいな注意文言を追加していた。LTS用に調整されたバイナリは提供しない事にしていたのだが、にも関わらず、AmuseGraphics用の追加提供ソフトについては、Ubuntu18.04LTS版を新たに追加したのは何故だったのか、というと、単純に、Ubuntu16.04LTS用バイナリでは動作しなくなったからだ。具体的には、これらで使っているLibAVFormat系のライブラリがUbuntu18.04LTSでは更新されていて、作者製ソフトで使っている関数の幾つかは、ライブラリから削除されてしまった訳だ。いう事なので、Ubuntu18.04LTSで一般動画を扱える様にするためには、内部処理を新しいLibAVFormatに対応させる必要があったので、更新せざるを得なかった訳だ。上記以外にも、Ubuntu18.04LTS環境では、従来版のコードのままだと幾つか問題があった。その一つ目としては、作者製ソフトはスレッドを多用しているのだが、プログラム終了時には、それらを全て終了させるのも面倒なので、OSが自動終了させてくれる事に期待して、それらの多くは放置してあった訳だ。LTS環境では、全てのスレッドを終了させない事には、プログラムが終了してくれなくなった訳だ。LTS環境では、ウインドウは消えても、プロセスが消えない状態になってしまった訳だ。プロセスが消えない、と言う事は、メモリも消費されたままになるし、少なくとも、プロセスを表示すると、そこに存在し続けているので、見っとも無くもある訳だ。18.04LTSでは、もう一つ、変な現象が発生した。(4.7.3a)にワークスペースを変換させてビルドしたのだが、出来上がったバイナリは、何故か、実行ファイル扱いではなく、共有ライブラリ扱いになってしまった訳だ。GUI上でそのファイルを見ても実行ファイルには見えないし、そのアイコンをダブルクリックしてもプログラムを実行してくれなくなったので、作者的には困ってしまった訳なのだが、ネットを検索してみると、以下の様な書き込みがあった。質問している訳なのだが、その回答としては、gccはそんな事はしない、という事だった。オプションとして-pieを指定していれば、結果的に、そんな感じの現象は起きるだろう、という話も書かれていたのだが、Ubuntu17.04から同様の問題が発生する様になった、という書き込みもあった訳だ。すると、Ubuntu17.04用から、リンカーのデフォルト設定が変更されたのかもしれないのだが、結果的に、上記に書かれていた対策である所の「-no-pie」フラグをリンカー設定に追加する事で、従来通り、出力ファイルが実行ファイル扱いとされる様に出来た。LTS対応は表示系のみなのかなあ、と、思っていた人もいるかもしれないのだが、実際には、他にも色々と対応が必要な項目はあった訳だ。LTSでは、以下の書き込みと似たような感じの問題がある。ShellのCPU使用率が異常に高い訳だ。具体的には、画面変化が何もない時には、CPU使用率もほぼ無いのだが、ウインドウを移動したりすると、その操作中には、1コアのフル性能分くらいは、CPUを消費してしまう訳だ。言えば、AGMPlayerやAG-ムービーカッターばかりではなく、付属ソフトである所のtotemで動画をみていたり、FirefoxでYouTubeを見ていたりするだけでも、ほぽ1コア分のCPU性能が消費されてしまう状況だ。いう事なので、上記の書き込みでは、問題は画面表示用のデバイスドライバにある、みたいな書き込みをしている人もいて、Parallelsでは、まだUbuntu18.04LTSは正式対応されていないので、デバイスドライバも最適化はされていない。Ubuntu18.04LTSがParallelsで正式対応されれば、問題はなくなる可能性もあるのだが、普通に鑑みれば、gnome-shellのCPU使用率が高いのは、そういう問題じゃない様な気もしないではない今日この頃ではある。Adsense)サービスを利用しています。使用して、ユーザーのウェブサイトでの閲覧履歴に基づく広告を配信します。パートナーは当サイトや他のサイトへのアクセス情報に基づく広告をユーザーに表示できます。収集された情報がGoogleによってどの様に使用されるか、収集される情報をユーザーが管理する方法については、以下のリンクを参照下さい。