VC MFC 中线程中显示图片,cpu占有率很高,怎么解决
如题,我在线程中使用IPicture线程图片,一秒钟显示25张。可以这个程序cpu的占有率达到50%~60%。请问有什么办法可以解决吗?
我可以确定cpu的占有是由这段代码引起的。
if(SUCCEEDED(OleLoadPicture(m_stream, displaySize, TRUE, IID_IPicture, (LPVOID*)&m_showpicture)))
{
m_showpicture->get_Width(&m_width);
m_showpicture->get_Height(&m_height);
PicPixelWidth = ::MulDiv(m_width, GetDeviceCaps(dc.GetSafeHdc(),LOGPIXELSX), HIMETRIC_INCH);
PicPixelHeight = ::MulDiv(m_height, GetDeviceCaps(dc.GetSafeHdc(),LOGPIXELSX), HIMETRIC_INCH);
SetScroll(PicPixelWidth,PicPixelHeight); //设置滚动条函数
SetScrollRange(SB_VERT,0,(int)(PicPixelHeight/26.45)-rect.Height());
SetScrollRange(SB_HORZ,0,(int)(PicPixelWidth/26.45)-rect.Width());
m_showpicture->Render(dc,1,50,(int)(m_width/26.45),(int)(m_height/26.45),0,m_height,m_width,-m_height,NULL);
m_showpicture->Release();
}