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

如何從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 閱讀(2755) 評論(0)  編輯 收藏 引用 所屬分類: CODEDirectX

<2025年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

導航

統計

常用鏈接

留言簿

隨筆分類

隨筆檔案

文章檔案

牛人博客

搜索

積分與排名

最新評論

閱讀排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            91久久综合| 欧美成人资源| 久久亚洲私人国产精品va| 欧美国产在线视频| 一区二区在线观看视频| 亚洲免费影视第一页| 一区二区欧美视频| 国产精品久久久久久久免费软件 | 美女尤物久久精品| 久久岛国电影| 红桃视频一区| 亚洲精品欧美精品| 国产精品地址| 久久综合伊人77777蜜臀| 欧美自拍丝袜亚洲| 亚洲精品少妇| 亚洲一本大道在线| 精品电影一区| 亚洲精品网站在线播放gif| 欧美日韩一区二区三区视频 | 久久亚洲视频| 美国十次了思思久久精品导航| 亚洲国产精品美女| 99国产精品自拍| 国产亚洲一区二区在线观看 | 玖玖视频精品| 欧美日韩18| 麻豆精品在线视频| 欧美日韩视频在线一区二区| 亚洲第一区在线观看| 噜噜爱69成人精品| 亚洲女爱视频在线| 理论片一区二区在线| 日韩网站在线| 猛男gaygay欧美视频| 久久久久久久波多野高潮日日| 麻豆freexxxx性91精品| 久久精品最新地址| 国产精品天天看| 日韩亚洲欧美综合| 99国产欧美久久久精品| 久久久欧美精品sm网站| 中国女人久久久| 欧美在线观看你懂的| 一区二区三区欧美亚洲| 一区二区三区精品久久久| 久久久综合网站| 欧美黄色aa电影| 一区国产精品| 免费短视频成人日韩| 老牛国产精品一区的观看方式| 欧美日韩亚洲国产精品| 一区二区高清| 欧美专区亚洲专区| 国产精自产拍久久久久久蜜| 亚洲少妇在线| 蜜臀久久久99精品久久久久久| 狠狠色2019综合网| 欧美极品影院| 午夜视频在线观看一区二区| 久久蜜桃资源一区二区老牛| 最新国产精品拍自在线播放| 欧美日韩一级黄| 久久精品国产亚洲高清剧情介绍| 久久久噜噜噜| 亚洲一区二区三区精品在线| 国产精品亚发布| 久久成人一区| 日韩午夜剧场| 国产综合第一页| 欧美日韩成人一区| 亚洲一区二区精品在线| 久久综合九色九九| 亚洲淫片在线视频| 亚洲日本欧美天堂| 国内精品久久久久久久影视蜜臀 | 91久久久久久国产精品| 久久精品中文| 久久精品日韩| 久久se精品一区二区| 亚洲午夜黄色| 中文在线资源观看网站视频免费不卡| 国产欧美欧美| 国产免费成人| 国产精品高清免费在线观看| 美女精品在线观看| 久久久www成人免费无遮挡大片| 亚洲欧美成人精品| 亚洲欧美亚洲| 久久三级视频| 欧美成人午夜影院| 欧美国产一区二区| 欧美日韩国产成人在线| 国产精品毛片一区二区三区 | 欧美国产第二页| 免费观看亚洲视频大全| 女人色偷偷aa久久天堂| 蜜臀a∨国产成人精品| 在线高清一区| 女主播福利一区| 欧美日韩福利在线观看| 日韩午夜av| 午夜精品在线观看| 蜜臀va亚洲va欧美va天堂| 欧美激情一二三区| 国产麻豆日韩| 99国产精品久久久久久久| 性欧美xxxx大乳国产app| 久久亚洲捆绑美女| 在线一区欧美| 欧美人成在线| 亚洲国产日韩一级| 久久这里有精品视频| 亚洲精品一区二区三区福利| 午夜亚洲福利| 国产精品国产三级国产aⅴ入口| 1000精品久久久久久久久| 亚洲一区二区三区视频| 亚洲国产婷婷| 欧美激情精品久久久久久蜜臀 | 米奇777在线欧美播放| 国产女主播一区二区| 一区二区三区高清在线| 免费不卡中文字幕视频| 午夜精彩国产免费不卡不顿大片| 欧美成人午夜视频| 亚洲电影在线观看| 欧美91精品| 欧美高清视频一二三区| 亚洲毛片一区二区| 日韩视频精品在线观看| 欧美日韩卡一卡二| 亚洲欧美日韩国产成人| 亚洲午夜国产一区99re久久| 欧美午夜一区二区| 午夜国产精品视频免费体验区| 亚洲一区美女视频在线观看免费| 国产精品女人久久久久久| 久久精品国产免费观看| 亚洲免费网址| 亚洲第一精品久久忘忧草社区| 亚洲大片在线| 国产精品久久久久免费a∨大胸| 久久精品国产一区二区三区免费看| 麻豆91精品| 欧美精品亚洲| 久久久青草青青国产亚洲免观| 免费成人性网站| 欧美一级成年大片在线观看| 久久免费的精品国产v∧| 免费在线欧美视频| 欧美一区亚洲二区| 欧美精品一区二区三区高清aⅴ| 亚洲欧美日韩中文视频| 美女精品国产| 久久亚洲捆绑美女| 国产精品最新自拍| 亚洲国产一区二区三区高清 | 久久爱另类一区二区小说| 久久久一区二区| 久久精品免费电影| 国产精品视频yy9099| 亚洲国产电影| 亚洲伦理一区| 亚洲高清av在线| 久久影院亚洲| 国产麻豆精品在线观看| 一区二区三区欧美激情| 亚洲免费大片| 欧美日本不卡视频| 亚洲人体大胆视频| 亚洲精品免费看| 美国三级日本三级久久99| 久久综合网络一区二区| 国产欧美午夜| 久久精品一二三区| 欧美二区在线| 亚洲美女av电影| 国产精品久久久久永久免费观看| 亚洲国产精品专区久久| 免费人成精品欧美精品| 亚洲高清123| 在线视频你懂得一区| 国产精品女人网站| 久久精品夜色噜噜亚洲aⅴ| 久久中文在线| 亚洲激情影院| 国产精品女主播| 欧美国产日本韩| 亚洲欧美一区二区视频| 国产精品久久久久久久久免费| 欧美一区观看| 亚洲国产成人tv| 国产精品二区在线| 久久综合网络一区二区| 亚洲视频大全| 亚洲六月丁香色婷婷综合久久| 久久成人资源| 午夜一级久久| 亚洲欧美日韩一区|