Brynhildr

KeroRemote

リモートデスクトップエンジニアのブログ。

デスクトップキャプチャーその後。
昨日、久々に歯医者に行きました。歯痛ってどーもならんですね。もー大体治まりましたけど。先生有難う御座います!また来週行きます!

さて、前に開発中と言ってましたデスクトップキャプチャーのその後です。

完全に放置しておりました(´д`)

とゆーのも、デスクトップキャプチャーソフトを作っている最中の事で御座いました。1024x576で60fpsのキャプチャーを目指してたんですが、さっぱりダメです。20fpsも出やしません。むむむ、と色々悩んでいたところどうやらネックなのはディスクに書き込む箇所の模様です。BMPからAVIファイルの生成と完全に無圧縮の為、かなりのデータサイズでメモリ上に置いておくなぞとてもじゃないけど出来やしない状況でしたので一時ファイルを使って何とか凌ごうかと思っていたのですが、すごい勢いでディスクの書き込み遅延が溜まっていきまする。開発機のHDDが2.5インチとゆーのもありますけど、SSDなら解決するかもとも思いましたけど、そりゃいかんだろと。どーしたものかと。

暫し考えた結果、一時ファイルにBMPで保存するのを止めてJPEGに変換して保存してみようかと。そこからAVIファイルを作る時に再度JPEG→BMPに変換して結合しようかと。ただ、一体BMP→JPEGを処理するのにどれくらい速度が出るんかと。試しにやってみますかと。

ややや!

えらい速度が出たもんでビックリしてこりゃリモートデスクトップにも試してみるかとゆー事で出来ましたのが「Ortlinde」だったりします。御想像の通りそこからOrtlindeの開発に入ってしまってました。えぇ、JPEGで保存する部分を作る前に放り出したんで、デスクトップキャプチャーソフトはそのまま放置で御座いました。

で、今回また叢雲の動いているところのサンプル動画を制作せねばなるまいな、と思って、またデスクトップキャプチャーソフトのソースを眺めていたところで御座います。もう大半の部分をすっかり忘れてますけど。とりあえずいらなさそーなところをガッツリ削って作りかけだったBMP→JPEG→AVIファイルの部分を仕上げようかと。そーいや前に作っていた時は、キャプチャースレッドとは別にBMPの一時ファイルを秒間60個のスレッドがそれぞれ行うとかとんでもない仕様だったんですけど、ちょっとそこまでやるのは後回しにして、キャプチャースレッドで一時ファイルの保存を行うようにしました、とりあえず。CPUにもデイスクにもやさしいです。

結果的にその仕組みですと、1024x576で40fpsまで出ましたのでもうちょっとといったところです。ま、今回は30fpもあれば十分なんでまた暫く放置になるかもしれませんけど。

そーいや最近、Windows8のMetroの影響か、「非同期プログラミング」とか結構脚光を浴びてるよーですけど、ハイパースレッディング辺りからマルチスレッド処理で食い繋いで生きてきたので、仕組みとか説明されても、あまり新鮮味とか無いんで、ちょっと勿体無い気がしてます。もっと「おぉ!非同期すげー!」とか思いたかったです。残念です。ただ、マルチスレッドの作り方がWinRTだとかなり異なるよーなので、また勉強し直しの予感です。どーしよー。


コメントはまだありません ... ( 管理人承認制 )





... 不具合報告の際は、アプリのバージョンやOS等の動作環境の記載を御願い致します。

表記されている会社名・製品名・システム名などは、各社の商標、または登録商標です。
当サイトはAmazon.co.jpアソシエイトプログラムに参加しています。
© 2010-2023 KANEKO