wxBufferedPaintDCでのwxBitmap画面描画
2005年12月13日先日のwxSDLに関する話で、wxBufferedPaintDCを利用したwxBitmapの描画に関してどの程度の時間がかかるのかをいくつかのブロックにわけて測定してみた。
まず、そもそもwxBitmapは直接ポインタをもらってきて編集というわけにはいかないので、DeviceIndependentなwxImageからDeviceDependentなwxBitmapへ変換する過程が必要となる。これを考慮した上で画面へのサーフェースの変換は次のような過程を通ることになる。
1.wxImage->wxBitmapへの変換
2.wxBitmap->wxBufferedPaintDC
この二つの変換だが、AthlonXP2000+で画面は800x600x32で1.が20(ms)程度、2.が1(ms)かかるかかからないか程度となった。
つまり、1.2.にかかる処理時間をfpsに直すと50fpsとなる。
実用には程遠い数値…
ネックとなるのは1.の過程で、ここを最低でも5(ms)程度に抑えたい。OS依存出よいのであればいくらでも解決方法はあるんだが…うーん。
まず、そもそもwxBitmapは直接ポインタをもらってきて編集というわけにはいかないので、DeviceIndependentなwxImageからDeviceDependentなwxBitmapへ変換する過程が必要となる。これを考慮した上で画面へのサーフェースの変換は次のような過程を通ることになる。
1.wxImage->wxBitmapへの変換
2.wxBitmap->wxBufferedPaintDC
この二つの変換だが、AthlonXP2000+で画面は800x600x32で1.が20(ms)程度、2.が1(ms)かかるかかからないか程度となった。
つまり、1.2.にかかる処理時間をfpsに直すと50fpsとなる。
実用には程遠い数値…
ネックとなるのは1.の過程で、ここを最低でも5(ms)程度に抑えたい。OS依存出よいのであればいくらでも解決方法はあるんだが…うーん。
コメント