无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

項(xiàng)目中常用的D3D黑屏優(yōu)化講解和源碼分享,DX系列的游戲都可以用

2021-12-28 12:12 作者:微塵網(wǎng)絡(luò)安全  | 我要投稿

? ? 諸多工作室在項(xiàng)目測(cè)試功能穩(wěn)定后,為了更高效率的 榨干電腦性能 盡可能的多開會(huì)選擇將畫面黑屏,零渲染??!今天我們來拆解分析實(shí)現(xiàn)原理和方案


? 大部分游戲畫面渲染基本用的都是DX系列 除了DX9 ?現(xiàn)在很多游戲也用到了DX11 他們版本有差異 在逆向程序員眼里區(qū)別不大。


????通過OD就可以查看游戲加載 了哪些模塊,很多游戲都有加載d3d9.dll或者d3d11.dll 這也說明了 他們?cè)谡蜷_發(fā)過程中用到了 D3D進(jìn)行了渲染。所以 也就可以在這些模塊 里HOOK 劫持修改他的渲染函數(shù) 在他的最后一步直接給他渲染成純黑 從而實(shí)現(xiàn)黑屏優(yōu)化的效果


渲染過程可以大概分為

BeginScene開始渲染
EndScene結(jié)束渲染
Present顯示后置緩沖的動(dòng)畫


當(dāng)然 這個(gè)過程其實(shí)可以給大家每個(gè)函數(shù)細(xì)節(jié)分析。這個(gè)就放到咱們的課程視頻里面了。重點(diǎn)是我們?nèi)OOK?Present這個(gè)函數(shù)

Present函數(shù)會(huì)最終等待所有繪制命令結(jié)束并將結(jié)果從back buffer拷貝到front buffer。渲染到游戲窗口


技術(shù)難度也不高 無非就是要定位到這個(gè)虛函數(shù) 然后HOOK一個(gè)新的函數(shù)替換他 并且在執(zhí)行完Clear函數(shù)在執(zhí)行原來的Present函數(shù)。完整的代碼就在公眾號(hào)里面輸入 黑屏優(yōu)化 獲取把

效果如下


微塵網(wǎng)絡(luò)安全

專注分享網(wǎng)絡(luò)安全 x64 c++ 逆向 反匯編 反調(diào)試 HOOK 注入 封包 內(nèi)存等技術(shù)

公眾號(hào)




項(xiàng)目中常用的D3D黑屏優(yōu)化講解和源碼分享,DX系列的游戲都可以用的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
平武县| 德安县| 营山县| 皮山县| 乐至县| 都兰县| 马尔康县| 榆中县| 运城市| 临潭县| 安远县| 泗水县| 聊城市| 政和县| 杨浦区| 富锦市| 延庆县| 桑日县| 宣汉县| 岳阳县| 丹阳市| 专栏| 鹤庆县| 丹巴县| 威海市| 林西县| 札达县| 南漳县| 深州市| 康定县| 故城县| 晴隆县| 天台县| 察雅县| 郎溪县| 白水县| 郯城县| 裕民县| 海淀区| 诏安县| 梁河县|