青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

如何從DirectX中獲取圖像


BOOL CD3DCameraViewWnd::GetImageInfo(DWORD* pPixelBuffer, int& width,int& height) { BOOL result = FALSE; IDirect3DSurface9 *_surfaceback = NULL; if (FAILED(m_pDevice->GetBackBuffer(0, 0, D3DBACKBUFFER_TYPE_MONO, &_surfaceback))) { result = FALSE; } D3DSURFACE_DESC surfaceDesc; if (!FAILED(_surfaceback->GetDesc(&surfaceDesc))) { width = surfaceDesc.Width; height = surfaceDesc.Height; } D3DLOCKED_RECT lockedRect; HRESULT hr = _surfaceback->LockRect( &lockedRect,0, 0); /* pointer to receive locked data指向申請到的內存區域*/ /* lock entire surface*/// no lock flags specified if (!FAILED(hr)) { pPixelBuffer = (DWORD*)lockedRect.pBits; result = TRUE; } _surfaceback->UnlockRect(); _surfaceback->Release(); return result; }


但是這樣存在著性能的問題,經測試獲取一幀需要200ms左右,為什么會存在這樣的問題?因為這邊有資源鎖定操作。

 

現在關鍵的問題就在于,資源鎖定的操作速度總是非常之慢.當然,你會跟我提, OpenGL似乎能夠快捷地完成這項任務.但是,在Direct3D中,資源鎖定操作確實是很慢的.這里面一個主要的原因是,API,驅動,以及硬件要處理一些不可回避的后臺操作.那就是GPU與CPU是并行運行的,若不加任何措施,將引起類似多線程程序同步時的競態條件的問題.

如果你試圖去修改的資源正同時被一個位于GPU處理序列中的指令使用,那么整個渲染流程就會因為你的資源鎖定而停頓或強制刷新(stalls and flushes).停頓(stall)會一直持續到你完成了對資源的修改并調用Unlock().而強制刷新(flush)則會要求GPU在你得到這個資源的訪問權之前完成目前所有的任務.

如何去解決這個問題?下面的參考資料中有一些解決方案,我沒有經過認真測試,我試了其中一個GetRenderTargetData 這樣的一種方法 ,感覺不太好用,why請看Reference3


下面給出我的解決方案

BOOL CD3DCameraViewWnd::GetImageInfo(DWORD* pPixelBuffer, int& width,int& height)
{
	BOOL result = FALSE;

	IDirect3DSurface9 *_surfaceback = NULL; 
	if (FAILED(m_pDevice->GetBackBuffer(0, 0, D3DBACKBUFFER_TYPE_MONO, &_surfaceback)))
	{
		result = FALSE;
	}
	  

	D3DSURFACE_DESC surfaceDesc; 
	if (!FAILED(_surfaceback->GetDesc(&surfaceDesc)))
	{
		width = surfaceDesc.Width;
		height = surfaceDesc.Height;
	}

	LPDIREC3DSURFACE9 surf;
	if(FAILED(m_pDevice->CreateOffscreenPlainSurface(width, height,D3DFMT_A8R8G8B8,D3DPOOL_SYSTEMMEM, &surf,NULL)))
	{
		result = FALSE;
	}
	D3DXLoadSurfaceFromSurface(surf, NULL,NULL,_surfaceback,NULL,NULL,D3DX_FILTER_NONE,0);

	D3DLOCKED_RECT lockedRect; 
	HRESULT hr = surf->LockRect( &lockedRect,0, 0); /* pointer to receive locked data指向申請到的內存區域*/ /* lock entire surface*/// no lock flags specified 

	if (!FAILED(hr))
	{
		pPixelBuffer = (DWORD*)lockedRect.pBits;
		result = TRUE;
	}

	surf->UnlockRect();
	surf->Release();
_surfaceback->Release(); return result; }


 


 

參考資料:Reference1.http://www.cnblogs.com/mixiyou/archive/2010/02/25/1673060.html

   Reference 2.http://www.cnblogs.com/mixiyou/archive/2010/02/25/1673425.html

   Reference 3.http://blog.csdn.net/Nightmare/article/details/1707362

   Reference 4.http://www.cnblogs.com/lancidie/archive/2011/3/14.html

posted on 2011-12-23 17:45 Daywei 閱讀(2746) 評論(0)  編輯 收藏 引用 所屬分類: CODEDirectX

<2014年4月>
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910

導航

統計

常用鏈接

留言簿

隨筆分類

隨筆檔案

文章檔案

牛人博客

搜索

積分與排名

最新評論

閱讀排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美国产亚洲精品久久久8v| 蜜臀99久久精品久久久久久软件| 亚洲精品一线二线三线无人区| 欧美波霸影院| 国产精品99久久久久久人| 亚洲少妇诱惑| 国产亚洲欧美aaaa| 蜜桃av噜噜一区| 欧美大片va欧美在线播放| 亚洲一级免费视频| 欧美一区在线视频| 亚洲精品视频啊美女在线直播| 亚洲精品欧美激情| 国产一区日韩二区欧美三区| 亚洲国产成人av| 国产精品igao视频网网址不卡日韩| 欧美一级在线视频| 麻豆成人在线观看| 亚洲欧美综合精品久久成人| 久久成人av少妇免费| 日韩视频在线免费| 午夜精品影院在线观看| 亚洲精品日本| 久久av在线看| 亚洲永久精品大片| 男女激情久久| 欧美专区一区二区三区| 欧美国产精品劲爆| 久久久久久亚洲综合影院红桃| 欧美日韩成人精品| 免费一级欧美在线大片| 国产女主播一区二区三区| 亚洲第一天堂无码专区| 国产婷婷成人久久av免费高清| 午夜性色一区二区三区免费视频| 亚洲一区二区三区国产| 久久av资源网| 亚洲欧美日韩精品在线| 欧美电影专区| 久久综合狠狠综合久久综合88 | 老司机精品视频一区二区三区| 欧美久久视频| 欧美激情bt| 伊人蜜桃色噜噜激情综合| 亚洲一区免费| 一区二区三区日韩在线观看| 免费国产一区二区| 免费在线成人| 伊人成综合网伊人222| 欧美一区亚洲一区| 欧美一区二区三区在线免费观看| 欧美日韩一区二区视频在线| 欧美黄色片免费观看| 在线观看国产一区二区| 久久精品99国产精品| 久久九九99| 国产欧美日韩一区二区三区| 亚洲一区二区在线播放| 亚洲欧美卡通另类91av| 国产精品v欧美精品v日韩| 日韩西西人体444www| 国产精品99久久久久久久vr | 国产欧美一区二区精品婷婷| 中文网丁香综合网| 亚洲欧美另类国产| 国产精品丝袜久久久久久app| 亚洲午夜精品福利| 久久成人免费电影| 国产亚洲欧美另类中文| 久久国产精品久久久久久| 久久久之久亚州精品露出| 国内自拍一区| 蜜臀久久99精品久久久久久9| 欧美大片国产精品| 中文av一区特黄| 国产精品―色哟哟| 久久成人人人人精品欧| 男女精品网站| 一区二区三区回区在观看免费视频| 欧美精品色网| 亚洲午夜久久久久久久久电影网| 欧美一区深夜视频| 极品尤物av久久免费看| 欧美国产第一页| 一二三四社区欧美黄| 久久精品视频99| 亚洲精品国产精品国自产在线| 欧美日韩大片一区二区三区| 亚洲无限av看| 免费视频一区| 亚洲欧美日本伦理| 1204国产成人精品视频| 欧美日韩伊人| 久久午夜国产精品| 亚洲视频观看| 欧美电影免费| 午夜在线不卡| 亚洲另类黄色| 国内免费精品永久在线视频| 欧美精品一线| 欧美国产一区视频在线观看| 欧美图区在线视频| 久久久777| 宅男66日本亚洲欧美视频| 欧美成人蜜桃| 久久激情视频| 中文国产成人精品| 亚洲激情社区| 国产一区二区三区日韩欧美| 欧美日韩一本到| 毛片基地黄久久久久久天堂| 亚洲在线一区| 亚洲精品少妇| 亚洲第一精品夜夜躁人人爽| 久久久久国内| 亚洲自拍都市欧美小说| 99国产精品久久久久久久| 一区在线免费观看| 国产日韩欧美在线播放不卡| 欧美日韩天天操| 欧美激情精品久久久久久大尺度| 午夜精品久久久久久久久久久久久 | 国产精品视频99| 欧美日韩国产综合视频在线观看中文| 久久99伊人| 欧美一二三区精品| 亚洲女女女同性video| 日韩视频免费大全中文字幕| 亚洲国产精品悠悠久久琪琪 | 亚洲免费婷婷| 亚洲欧美国产另类| 亚洲在线黄色| 亚洲永久免费av| 亚洲一区二区在线视频 | 国产主播精品在线| 国内外成人在线视频| 国产一区二区三区精品欧美日韩一区二区三区 | 午夜免费久久久久| 亚洲欧美在线磁力| 午夜国产精品影院在线观看| 亚洲午夜日本在线观看| 亚洲一区二区三区四区在线观看 | 狠狠色丁香久久婷婷综合丁香| 国产女主播一区二区三区| 国产日本欧美在线观看| 国产一区视频观看| 激情婷婷久久| 亚洲欧洲日本国产| a4yy欧美一区二区三区| 亚洲一区二区在线视频| 欧美一区二区视频观看视频| 久久国产精品黑丝| 久久综合久久综合这里只有精品| 久久女同互慰一区二区三区| 女女同性精品视频| 亚洲国产欧美日韩另类综合| 亚洲精品国产系列| 亚洲性夜色噜噜噜7777| 欧美一区二区在线播放| 久久躁日日躁aaaaxxxx| 欧美精品激情在线观看| 国产精品久久久久一区二区三区| 国产视频亚洲| 亚洲精品一区二区三区99| 欧美福利视频| 久久人人爽爽爽人久久久| 久久综合影音| 国产精品日韩精品欧美在线| 国产一区二区三区四区三区四| 在线播放豆国产99亚洲| 亚洲精品婷婷| 欧美一区二区免费观在线| 欧美91福利在线观看| 99国产精品国产精品毛片| 欧美在线视频一区二区三区| 欧美黑人在线观看| 国产日本欧美在线观看| 夜久久久久久| 久久亚洲国产精品一区二区| 日韩小视频在线观看专区| 欧美一区二区三区啪啪 | 亚洲精品一区中文| 久久国产毛片| 国产精品久久久一区二区三区| 国内精品视频在线播放| 亚洲午夜精品在线| 欧美激情中文字幕在线| 午夜精品免费| 欧美日韩亚洲一区二区三区在线| 精品电影在线观看| 性伦欧美刺激片在线观看| 亚洲国产精品黑人久久久| 久久大综合网| 国产精品一区二区女厕厕| 99国产精品视频免费观看| 牛人盗摄一区二区三区视频| 欧美亚洲视频在线观看| 欧美涩涩网站| 在线综合亚洲| 亚洲人成在线观看一区二区|