图像表示性能问题
网络摄像机传输过来的mpeg4数据流,本地进行decoder成bmp形式后在特定的区域内显示,需要等比例居中显示,同时还需要有背景色,边框色,文字等要求。目前采用memdc,将图像,背景,文字使用StretchDIBits生成一块memdc,然后StretchBlt贴到指定的窗口上面。由于网络摄像机基本上以25-30fps发送数据,当图像实时表示的时候cpu占用非常高,80%以上,影响了其他的动作。
现在要求改变做法,将cpu降下来,发现主要是StretchDIBits函数造成cpu的高耗,请问有什么办法能解决这个问题,有人提出使用directx,说是最快的,如果是的话,那应该使用directx的哪一部分?directxshow?初次接触directx,请大家指点,我使用的vc++,参考directx的例子应该是哪一个呢?