なんて思ってたんだが実はテクスチャの更新が遅いのは更新回数が原因だった。
どうやらテクスチャの更新は思ってた以上に回数依存ぽくて、一度に更新するサイズを拡大したらメインスレッドでの更新でPBOも使ってないにもかかわらず一発で十分なほど改善された。
これだとスレッド化してPBOで更新するようにすれば大きめのテクスチャをまるごとでも更新できそうなんだけど、それをすると通信路が詰まりそうなので今の方法で問題が出るまで放置することにする。てかおそらく今でもリモートで動かすと詰まりそうだし。
なんて思ってたんだが実はテクスチャの更新が遅いのは更新回数が原因だった。
どうやらテクスチャの更新は思ってた以上に回数依存ぽくて、一度に更新するサイズを拡大したらメインスレッドでの更新でPBOも使ってないにもかかわらず一発で十分なほど改善された。
これだとスレッド化してPBOで更新するようにすれば大きめのテクスチャをまるごとでも更新できそうなんだけど、それをすると通信路が詰まりそうなので今の方法で問題が出るまで放置することにする。てかおそらく今でもリモートで動かすと詰まりそうだし。
「キャスト」というのは違うかも知れん。画面を動画でキャプチャする機能を復活した。
今回はPBOを大量に用意してフルフレームで「ぬるんぬるん」キャプチャできる上に通常動作への影響が感じられないくらいの低負荷にできた。
最初はPBOではなくテクスチャに格納するようにしていたのだが、テクスチャからメインメモリに読めるはずのglGetTextureが全く機能せず画像が真っ黒になってしまうのでPBOを使ってみたのだが、画像の取り出しも高速化されているハズで満足な結果になった。
しかし、動作確認に使ったサンプル画像がアレなので動画の公開はまた今度〜(ぉ
透過画像が暗く表示されるので何事かと思ったが、Cairoが改版されて透過色の扱いが普通になったのが原因だった。
以前はCairoでは透過の場合RGBの各要素に不透過率が乗じられた状態で格納されてた。こうするとそのまま足せばいいのである意味簡単なのだがCairoを特別扱いする必要があった。
で、これがなくなって普通にRGBにはそのままの値が入るようになったので、普通に扱えば良くなった。というワケ。
引っ越し先。 見えるかな。