亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

渲染系統(tǒng)架構(gòu)深度拆解:從剔除調(diào)度到資源管理實(shí)踐

渲染系統(tǒng)架構(gòu)深度拆解:從剔除調(diào)度到資源管理實(shí)踐 系列第一篇寫完評(píng)論區(qū)一直有人催更渲染這塊。確實(shí)渲染系統(tǒng)是整個(gè)引擎里最“外露”的東西——玩家不會(huì)夸你物理算得有多準(zhǔn)、網(wǎng)絡(luò)同步有多穩(wěn)但渲染卡一幀、陰影閃一下、遠(yuǎn)處貼圖糊一片那都是一眼就能看見的事。這篇我就把渲染系統(tǒng)架構(gòu)從整體設(shè)計(jì)到落地細(xì)節(jié)完整拆一遍會(huì)涉及一個(gè)自研引擎實(shí)際開發(fā)過程中的大量取舍記錄和踩坑實(shí)錄。無論你是打算從頭寫一個(gè)引擎還是想搞懂商業(yè)引擎內(nèi)部渲染模塊的運(yùn)作邏輯這篇都值得看完。1. 渲染系統(tǒng)架構(gòu)的第一性問題它到底管什么1.1 職責(zé)邊界先畫清楚很多初學(xué)者拿到引擎源碼第一反應(yīng)是去找DrawCall在哪、Shader在哪。其實(shí)渲染系統(tǒng)的架構(gòu)設(shè)計(jì)最先要搞清楚的根本不是畫什么、怎么畫而是邊界。渲染系統(tǒng)要管的不是“把三角形畫出來”這么簡(jiǎn)單。完整職責(zé)范圍包括場(chǎng)景數(shù)據(jù)組織哪些物體存在、在哪、可見性判定攝像機(jī)能看到誰、資源生命周期頂點(diǎn)緩沖、紋理、材質(zhì)上傳下載的時(shí)機(jī)、渲染狀態(tài)切換深度測(cè)試、混合模式、視口、光照和陰影的計(jì)算組織、后處理鏈路拼接以及最底層與GPU驅(qū)動(dòng)打交道時(shí)提交命令和同步的方式。這些職責(zé)如果全部塞到一套代碼里前期開發(fā)確實(shí)快但越往后越痛苦。我第一版原型就是這么干的所有渲染調(diào)用直接在游戲邏輯里寫死繪制狀態(tài)隨手改資源加載堵塞主線程。結(jié)果就是調(diào)試任何一條渲染鏈路都要在幾千行業(yè)務(wù)邏輯和底層API調(diào)用中間來回跳轉(zhuǎn)。后來重構(gòu)時(shí)第一件事就是把渲染系統(tǒng)的邊界畫清楚邏輯層只負(fù)責(zé)“要畫的東西和它們的屬性”渲染層只負(fù)責(zé)“怎么高效地畫出來”。這個(gè)切割是整個(gè)架構(gòu)調(diào)整中性價(jià)比最高的一步。1.2 幀循環(huán)與線程模型是地基渲染系統(tǒng)架構(gòu)里最容易被低估的部分是幀循環(huán)和線程模型。一個(gè)幀里邏輯要更新、物理要計(jì)算、動(dòng)畫要采樣、渲染要提交它們的時(shí)間關(guān)系怎么排直接決定你后續(xù)所有功能好不好做。最常見的組織方式是三線程模型主線程游戲邏輯、渲染線程命令錄制與提交、GPU異步執(zhí)行。主線程和渲染線程之間通過命令緩沖Command Buffer通信。主線程把這一幀要畫的內(nèi)容打包成命令寫進(jìn)緩沖渲染線程讀出來翻譯成底層API調(diào)用提交給驅(qū)動(dòng)GPU實(shí)際執(zhí)行。兩個(gè)線程流水線并行主線程跑到第N2幀時(shí)渲染線程可能還在處理第N1幀GPU執(zhí)行的是第N幀。這個(gè)錯(cuò)位設(shè)計(jì)換來的是CPU可支配時(shí)間的大幅提升代價(jià)是畫面顯示會(huì)有一個(gè)固定的幾幀延遲。這個(gè)延遲對(duì)單機(jī)玩家、對(duì)輸入響應(yīng)敏感的對(duì)戰(zhàn)游戲來說處理方式完全不同。我們當(dāng)時(shí)的取舍是主線程提前預(yù)測(cè)一幀的相機(jī)狀態(tài)來渲染減少操作延遲感同時(shí)保留一個(gè)可配置的幀延遲開關(guān)方便調(diào)試時(shí)候改成同步模式。這個(gè)開關(guān)后來幫了大忙很多渲染bug在同步模式下幾秒鐘就能定位異步模式下得靠一堆日志和時(shí)間戳去猜。1.3 架構(gòu)選型的根本矛盾只有一組渲染系統(tǒng)面向的硬件能力差異極大。集顯機(jī)器上可能只有幾十個(gè)DrawCall的預(yù)算而獨(dú)顯機(jī)器上千個(gè)都不帶喘的。這個(gè)矛盾決定了架構(gòu)選型的核心你沒法一套邏輯吃遍所有設(shè)備必須在“保表現(xiàn)”和“保幀率”之間做動(dòng)態(tài)平衡。業(yè)界普遍的解法是渲染質(zhì)量分級(jí)Scalability定義一組從低到高的渲染特性檔位比如陰影分辨率、動(dòng)態(tài)光源數(shù)量、抗鋸齒方案、體積霧開關(guān)、貼圖最大分辨率等。每個(gè)檔位對(duì)應(yīng)一套參數(shù)組合。運(yùn)行時(shí)讀設(shè)備信息給出一個(gè)建議檔位玩家可以手動(dòng)調(diào)。架構(gòu)上要保證這些檔位的切換在運(yùn)行時(shí)是可熱切換的不要走初始化大重置的路子。這個(gè)設(shè)計(jì)最容易被忽略的是不同檔位之間的狀態(tài)一致性。你從高畫質(zhì)切到低畫質(zhì)場(chǎng)景里所有物體的材質(zhì)實(shí)例、燈光陰影的渲染目標(biāo)和紋理池都要跟著換。如果資源系統(tǒng)沒有做好引用計(jì)數(shù)和版本控制熱切換必然出現(xiàn)紋理黑塊、陰影閃爍之類的怪毛病。我們第一版切檔位直接崩了就是因?yàn)榕f資源還沒釋放、新資源已經(jīng)綁定了同一個(gè)槽位。后來統(tǒng)一在渲染資源管理器里加了一層代際編號(hào)Generation老資源延遲到GPU讀完當(dāng)前幀再回收問題才根治。2. 場(chǎng)景數(shù)據(jù)組織與剔除系統(tǒng)決定渲染架構(gòu)的上限2.1 場(chǎng)景結(jié)構(gòu)別一上來就做場(chǎng)景圖很多人一說場(chǎng)景管理第一反應(yīng)是“場(chǎng)景圖Scene Graph”——游戲?qū)ο髵煸趯蛹?jí)節(jié)點(diǎn)上父節(jié)點(diǎn)移動(dòng)子節(jié)點(diǎn)跟著動(dòng)。這個(gè)概念用在編輯器里很舒服但用在渲染系統(tǒng)里如果你直接把場(chǎng)景圖當(dāng)渲染數(shù)據(jù)源用后面遲早要重構(gòu)。原因在于場(chǎng)景圖是面向編輯的層級(jí)結(jié)構(gòu)渲染系統(tǒng)要的是面向查詢的扁平結(jié)構(gòu)。渲染時(shí)最頻繁的操作是“給我視錐體里所有帶MeshRenderer的物體”而不是“從根節(jié)點(diǎn)遞歸遍歷找所有葉子”。如果渲染每幀都去遞歸遍歷場(chǎng)景圖層級(jí)深一點(diǎn)、節(jié)點(diǎn)多一點(diǎn)CPU時(shí)間就全燒在遍歷上了GPU早就閑著等了。我們最終采用的方案是雙結(jié)構(gòu)場(chǎng)景圖服務(wù)編輯器、邏輯和動(dòng)畫系統(tǒng)渲染系統(tǒng)維護(hù)一份獨(dú)立的扁平渲染列表Render List。這個(gè)列表按材質(zhì)、Mesh、渲染隊(duì)列排序組織成適合批處理和剔除的緊湊結(jié)構(gòu)。每次場(chǎng)景圖發(fā)生了空間變化移動(dòng)、增刪通過事件系統(tǒng)通知渲染層更新對(duì)應(yīng)條目而不是每幀全量同步。這個(gè)雙結(jié)構(gòu)的代價(jià)是兩套數(shù)據(jù)要維護(hù)一致性但換來的是渲染側(cè)查詢和剔除的高效完全值得。2.2 視錐體剔除之外必須上遮擋剔除場(chǎng)景里的物體不可能全在畫面里第一步能做的是視錐體剔除把六個(gè)裁剪面算出來凡是包圍盒完全在六個(gè)面之外的物體直接不畫。這個(gè)是渲染系統(tǒng)的基礎(chǔ)操作絕大多數(shù)引擎都能做到。但視錐體剔除只解決“不在畫面里”的問題解決不了“在畫面里但被墻擋住”的問題。一棟樓后面藏著一整條街的物體視錐體全都在但像素一個(gè)都看不見——大量性能就浪費(fèi)在看不到的地方。遮擋剔除的方案有好幾種硬件遮擋查詢Occlusion Query、軟件光柵化遮擋剔除、基于PVS潛在可見集的預(yù)計(jì)算剔除。實(shí)際項(xiàng)目里我推薦先用軟件遮擋剔除配合層級(jí)Z緩沖Hierarchical Z-Buffer。做法是每幀先用極低分辨率把場(chǎng)景里的大型遮擋物比如建筑、地形、大體積的墻光柵化出一個(gè)深度圖然后用這個(gè)深度圖去測(cè)試其他物體包圍盒的投影是否被完全遮擋完全被遮擋的直接剔除。這個(gè)方案對(duì)城市、室內(nèi)場(chǎng)景收益極其明顯。我們做的一個(gè)比較復(fù)雜的開放關(guān)卡純視錐體剔除后DrawCall大概兩千多加上軟件遮擋剔除后直接壓到五百以下幀時(shí)間從22毫秒降到11毫秒畫面一點(diǎn)沒變。遮擋剔除也是分層做不要對(duì)每個(gè)小物件都做精確測(cè)試先把場(chǎng)景按區(qū)域劃分區(qū)域級(jí)別的遮擋測(cè)試結(jié)果直接決定整塊區(qū)域是否丟棄。2.3 剔除結(jié)果要變成渲染任務(wù)而不是逐物體繪制剔除系統(tǒng)輸出的是“這幀要畫哪些物體”的清單但這份清單不能直接拿去畫。直接逐物體繪制意味著每個(gè)物體都要單獨(dú)提交一次綁定Shader、設(shè)置紋理、設(shè)置變換矩陣的流程DrawCall爆炸不說狀態(tài)切換也炸。正確的做法是把可見物體清單交給渲染隊(duì)列Render Queue由隊(duì)列管理器按照“減少狀態(tài)切換、最大化合批”的原則重排。排序鍵Sort Key通常是一個(gè)64位整數(shù)高位是渲染通道不透明、透明、天空盒、后處理等中間是材質(zhì)ID低位是物體在場(chǎng)景里的深度或距離。這樣排序一次同材質(zhì)、同通道的物體自然被排到一起批處理的機(jī)會(huì)就來了。批處理Batching分靜態(tài)和動(dòng)態(tài)靜態(tài)合批針對(duì)不動(dòng)的物體在加載階段把共享同一材質(zhì)的多個(gè)物體合并成一個(gè)大的頂點(diǎn)緩沖徹底消掉它們之間的DrawCall動(dòng)態(tài)合批針對(duì)小物體每幀嘗試把符合條件的幾個(gè)物體打包到一個(gè)DrawCall里。這里有個(gè)坑動(dòng)態(tài)合批不是穩(wěn)賺不賠的合批時(shí)要拷貝頂點(diǎn)數(shù)據(jù)到臨時(shí)緩沖這個(gè)拷貝本身有CPU開銷物體頂點(diǎn)多了或者合批數(shù)量上去了省下的DrawCall開銷還不一定夠拷貝的。我們?cè)陧?xiàng)目里實(shí)際測(cè)試頂點(diǎn)數(shù)超過某個(gè)閾值的Mesh動(dòng)態(tài)合批反而更慢。所以合批策略一定要有數(shù)據(jù)支撐的開關(guān)控制不能“開了合批就萬事大吉”。3. 命令緩沖與資源管理渲染系統(tǒng)的質(zhì)感和底氣3.1 命令緩沖不是簡(jiǎn)單的命令列表前面提到主線程和渲染線程通過命令緩沖通信。聽著簡(jiǎn)單實(shí)際做起來很多細(xì)節(jié)。命令緩沖的本質(zhì)是一塊環(huán)形分配的內(nèi)存池里面裝著一條條命令每一條由一個(gè)命令頭命令類型、數(shù)據(jù)長(zhǎng)度和一段載荷數(shù)據(jù)組成。主線程寫入渲染線程讀取兩者通過幀同步點(diǎn)協(xié)調(diào)不能出現(xiàn)渲染線程讀了一半主線程又回頭覆寫這塊內(nèi)存的情況。常用做法是幀內(nèi)雙緩沖或三緩沖。主線程和渲染線程各自持有這一幀的寫指針和讀指針靠幀序號(hào)來同步。幀序號(hào)有點(diǎn)像一個(gè)“信號(hào)燈”渲染線程處理完第N幀的命令后告訴內(nèi)存分配器第N幀的緩沖塊可以回收了主線程這才允許覆蓋那塊的寫入。這個(gè)機(jī)制寫起來不復(fù)雜但一旦出問題就是極其惡性的隨機(jī)崩潰數(shù)據(jù)一半新一半舊查都沒法查。我們后來給每一塊緩沖頭部都加了一個(gè)magic number和幀ID內(nèi)存回收前做校驗(yàn)定位過好幾回這類bug?,F(xiàn)代引擎進(jìn)一步把命令緩沖抽象成Render Graph把整幀的渲染過程描述成一張有依賴關(guān)系的異步任務(wù)圖。每個(gè)渲染操作Pass聲明自己讀哪個(gè)資源、寫哪個(gè)目標(biāo)系統(tǒng)根據(jù)依賴自動(dòng)安排執(zhí)行順序自動(dòng)合并或跳過無效的Pass還能自動(dòng)優(yōu)化資源生命周期某個(gè)臨時(shí)RT只在兩個(gè)Pass之間用到系統(tǒng)自動(dòng)復(fù)用內(nèi)存。這套方案把引擎渲染架構(gòu)的復(fù)雜度提升了一個(gè)量級(jí)但換來的效率和可控性確實(shí)好。第一版不用從Render Graph開始從普通命令緩沖起步按需演進(jìn)這是我個(gè)人的經(jīng)驗(yàn)。3.2 GPU資源管理生命周期比繪制本身更容易出事渲染系統(tǒng)里80%的麻煩不在繪制邏輯在資源生命周期。紋理、頂點(diǎn)緩沖、索引緩沖、渲染目標(biāo)、Shader程序這些都是GPU資源都有創(chuàng)建、上傳、綁定、釋放的過程。資源管理架構(gòu)設(shè)計(jì)不好的話跑起來就是紋理花屏、顯存泄漏、設(shè)備丟失。我見過最離譜的問題是顯存泄漏——每幀都創(chuàng)建一個(gè)小紋理但從不釋放跑二十分鐘顯存爆了整個(gè)進(jìn)程被驅(qū)動(dòng)殺穿。設(shè)計(jì)資源管理系統(tǒng)核心是三條原則所有權(quán)清晰每個(gè)GPU資源有且只有一個(gè)owner通常是資源緩存的某一項(xiàng)、引用計(jì)數(shù)完整GPU資源使用方必須登記引用包含渲染線程和主線程兩邊的引用、延遲回收標(biāo)記刪除的資源等到GPU確定不再引用它時(shí)才真正釋放。紋理流送Texture Streaming是個(gè)重要課題。一張4K的紋理可能在顯存里占近一個(gè)G但畫面上可能只占幾百個(gè)像素沒必要全部駐留。紋理流送系統(tǒng)按相機(jī)距離和屏幕占比動(dòng)態(tài)加載高分辨率mipmap或降級(jí)成低分辨率版本同時(shí)控制異步上傳不要卡主線程。實(shí)現(xiàn)時(shí)有一個(gè)關(guān)鍵點(diǎn)流送異步加載完成的回調(diào)和渲染幀的同步。我們踩過紋理閃成粉紅色的坑原因就是低分辨率mip還沒加載完渲染線程就把材質(zhì)對(duì)象標(biāo)記成“已就緒”。后面加了一個(gè)“就緒狀態(tài)按版本校驗(yàn)”的邏輯只有GPU確認(rèn)用上當(dāng)前版本后渲染才切換到新狀態(tài)。3.3 材質(zhì)與Shader系統(tǒng)別把參數(shù)管理變成災(zāi)難材質(zhì)系統(tǒng)負(fù)責(zé)把Shader程序和一組參數(shù)顏色值、紋理、浮點(diǎn)數(shù)、矩陣組合成一個(gè)可渲染的實(shí)例。架構(gòu)上的難點(diǎn)有兩個(gè)一是參數(shù)怎么高效地上傳到GPU二是Shader變體Variant怎么管理避免爆炸。參數(shù)上傳要區(qū)分常變化參數(shù)每一幀都可能變比如世界矩陣、時(shí)間、相機(jī)位置和材質(zhì)級(jí)參數(shù)同一個(gè)材質(zhì)的所有物體共享比如反照率、粗糙度。材質(zhì)級(jí)參數(shù)打包成常量緩沖Constant Buffer一幀只需要上傳一次甚至只在創(chuàng)建時(shí)上傳一次而常變化參數(shù)按對(duì)象上傳。如果這兩類混淆會(huì)造成大量的冗余上傳驅(qū)動(dòng)層會(huì)瘋狂反復(fù)傳相同的常量GPU雖然能扛住但CPU開銷白白浪費(fèi)。Shader變體的管理是另一個(gè)隱藏的坑。一個(gè)材質(zhì)Shader光照模型開關(guān)、陰影開關(guān)、霧效開關(guān)、貼圖數(shù)量組合起來輕則幾十個(gè)變體重則上萬個(gè)。每個(gè)變體編譯一次加載時(shí)間會(huì)被拖慢到讓你懷疑人生首幀出現(xiàn)掉幀和卡頓基本都跟這有關(guān)。我們處理方式是盡量讓Shader程序在運(yùn)行時(shí)通過統(tǒng)一的參數(shù)接口處理可選功能而不是每個(gè)功能都開一個(gè)編譯宏分支。編譯宏控制在個(gè)位數(shù)所有引擎內(nèi)置Shader預(yù)編譯加載階段只綁定Program不觸發(fā)即時(shí)編譯。遇到剛啟動(dòng)時(shí)“瓷磚般的卡頓”基本都是沒做預(yù)編譯。4. 光照、陰影和后處理表現(xiàn)力的架構(gòu)支撐4.1 前向與延遲渲染的抉擇不是技術(shù)偏好是產(chǎn)品取向渲染架構(gòu)繞不開前向渲染和延遲渲染的選擇。前向渲染逐物體計(jì)算光照光源多了DrawCall和計(jì)算量線性上漲延遲渲染先把物體的幾何信息位置、法線、反照率、粗糙度等寫進(jìn)多張G-Buffer紋理然后統(tǒng)一對(duì)屏幕上的每個(gè)像素算光照光源數(shù)量和像素發(fā)生了關(guān)系而不是物體光源再多只要在屏幕空間算一次。手游和VR強(qiáng)烈偏愛前向渲染因?yàn)镚-Buffer的多渲染目標(biāo)MRT在移動(dòng)端帶寬開銷很肉痛。PC上的大型場(chǎng)景則更多考慮延遲渲染因?yàn)閯?dòng)態(tài)光源數(shù)量可能幾十上百個(gè)。但延遲渲染也有代價(jià)MSAA很難直接用于邊緣抗鋸齒、透明物體沒法正常走G-Buffer流程透明的半透明效果依然得用前向渲染補(bǔ)一道、帶寬開銷在低配機(jī)上撐不住。我們最后的架構(gòu)是混合管線的可配置方案不透明物體默認(rèn)走延遲渲染主光路透明物體和特殊效果水面、粒子、貼花走前向渲染的補(bǔ)充Pass。整個(gè)管線在引擎初始化時(shí)根據(jù)當(dāng)前設(shè)備特性和用戶畫質(zhì)檔位決定走哪條路徑核心光照計(jì)算代碼共用同一套光照模型函數(shù)避免兩套光照算法養(yǎng)出兩套效果不一致的“陰陽臉”。這個(gè)結(jié)構(gòu)維護(hù)成本高一些但保證了跨平臺(tái)表現(xiàn)的可控性。4.2 陰影系統(tǒng)架構(gòu)實(shí)時(shí)陰影是塊硬骨頭陰影做得好的引擎給人的第一感受是“畫面立體了”。但實(shí)時(shí)陰影系統(tǒng)架構(gòu)牽扯的東西遠(yuǎn)比多畫一張深度圖復(fù)雜。主流方案是陰影貼圖Shadow Map制從光源視角渲染場(chǎng)景得到深度圖然后主渲染時(shí)比較像素的深度和陰影貼圖深度判斷是否在陰影里。這個(gè)方案簡(jiǎn)單可靠但陰影鋸齒、暗側(cè)閃爍Shadow Acne、彼得潘現(xiàn)象Peter Panning都是需要系統(tǒng)處理的。陰影架構(gòu)真正難的在于大世界里的陰影裁剪與精度分配。一個(gè)巨大的場(chǎng)景一張2048分辨率的陰影貼圖要覆蓋整個(gè)場(chǎng)景那每像素對(duì)應(yīng)的世界尺寸會(huì)非常大近處陰影全是鋸齒和浮動(dòng)。業(yè)界普遍的方案是級(jí)聯(lián)陰影貼圖CSM把視錐體從近到遠(yuǎn)切成幾段每段分配一張獨(dú)立陰影貼圖近處段分辨率高、遠(yuǎn)處段分辨率低。級(jí)聯(lián)數(shù)量一般3到4級(jí)每級(jí)一張深度圖級(jí)別之間的交界處要做過渡否則能看到明顯的“陰影邊界條”。實(shí)現(xiàn)CSM時(shí)最容易出問題的是跟光相關(guān)的抖動(dòng)和過渡。我們第一版里陰影在相機(jī)移動(dòng)時(shí)產(chǎn)生高頻抖動(dòng)排查半天發(fā)現(xiàn)是因?yàn)殛幱百N圖的相機(jī)矩陣每一幀都會(huì)漂移導(dǎo)致陰影紋樣跟著跳。解決辦法是把光源在場(chǎng)景空間的位置按陰影貼圖紋素尺寸對(duì)齊Texel Snap讓光源移動(dòng)時(shí)陰影波動(dòng)以“整像素”為單位發(fā)生變化。這個(gè)細(xì)節(jié)在后來的項(xiàng)目里幫了大忙值得專門記下。4.3 后處理鏈路設(shè)計(jì)與Render Graph天然的緣分現(xiàn)在游戲的畫面表現(xiàn)一半靠后處理色調(diào)映射Tonemapping、泛光Bloom、景深Depth of Field、環(huán)境光遮蔽Ambient Occlusion、動(dòng)態(tài)模糊Motion Blur、抗鋸齒TAA一條鏈路串起來。后處理架構(gòu)設(shè)計(jì)最容易造成的坑是每加一個(gè)后處理效果就多一次全屏RT切換。全屏RT切換開銷其實(shí)是很大的更高分辨率下一次Copy和Clear的代價(jià)甚至比整場(chǎng)景渲染還高。解決思路是把后處理組織成一條鏈上一個(gè)效果的輸出直接作為下一個(gè)效果的輸入避免中間反復(fù)拷貝回主幀緩沖。更進(jìn)一步多個(gè)效果可以上Merge到同一個(gè)Pass里比如Bloom的閾值提取和降采樣可以在一次計(jì)算里完成AO和深度重建可以共享中間數(shù)據(jù)。這就是為什么我說Render Graph后處理和它天生契合。渲染圖能在啟動(dòng)時(shí)把整幀的Pass依賴打通自動(dòng)把全屏讀寫的節(jié)點(diǎn)連接成一條高效的鏈路甚至能檢測(cè)到某個(gè)Pass沒有實(shí)際效果就讓系統(tǒng)自動(dòng)跳過。如果嫌Render Graph太重退而求其次也要實(shí)現(xiàn)一個(gè)輕量級(jí)的后處理Pass調(diào)度器把上面的依賴關(guān)系用結(jié)構(gòu)體表示出來運(yùn)行時(shí)按序執(zhí)行不要用硬編碼if-else把鏈路寫死在代碼里。5. 渲染系統(tǒng)的排障心得與防崩設(shè)計(jì)5.1 幀時(shí)間數(shù)據(jù)拆解定位瓶頸的唯一標(biāo)準(zhǔn)答案渲染系統(tǒng)出性能問題最怕的是靠肉眼猜。一說是“場(chǎng)景太復(fù)雜”一說是“Shader太貴”最后發(fā)現(xiàn)都不是。我處理性能問題時(shí)第一件事永遠(yuǎn)是把幀時(shí)間拆開CPU主線程耗時(shí)、渲染線程耗時(shí)、GPU耗時(shí)分別統(tǒng)計(jì)。大多數(shù)引擎Debug工具都能做到但重要的是數(shù)據(jù)期望。如果主線程耗時(shí)遠(yuǎn)高于GPU那瓶頸在邏輯層而不是渲染加再?gòu)?qiáng)的顯卡都沒用。如果GPU時(shí)間高但主線程閑得很那不是換CPU能解決的。拆解之后進(jìn)一步把GPU時(shí)間細(xì)分到Pass級(jí)別天空盒用了多少、場(chǎng)景主體多少、后處理多少、陰影幾個(gè)級(jí)聯(lián)各多少。我們遇到過反直覺的情況大量時(shí)間不在畫場(chǎng)景上而在全屏后處理的Bloom降采樣上。因?yàn)閳?chǎng)景面數(shù)很低反而沒事干后處理把全屏反復(fù)掃了好幾遍。把Bloom閾值和降采樣次數(shù)調(diào)優(yōu)以后整體幀率直接提升了20%。沒有這層數(shù)據(jù)拆解這個(gè)瓶頸靠肉眼幾乎不可能找到。推薦一套做法引擎內(nèi)置一個(gè)幀調(diào)試覆蓋層熱鍵打開后直接在畫面上顯示每個(gè)Pass的耗時(shí)柱狀圖能把“哪些Pass占了時(shí)間”一目了然地呈現(xiàn)。調(diào)試這類東西讓開發(fā)者“肉眼可見”比任何日志都高效。5.2 資源生命周期崩潰的防御性設(shè)計(jì)渲染系統(tǒng)的崩潰絕大多數(shù)逃不出幾個(gè)類型GPU資源被釋放后還在用、渲染線程訪問了主線程管理的被銷毀對(duì)象、命令緩沖被覆蓋讀取。這三類問題都有共性時(shí)序競(jìng)爭(zhēng)。調(diào)試競(jìng)爭(zhēng)問題沒法純靠看代碼解決必須在架構(gòu)層面做防御。第一道防線是所有GPU資源對(duì)象都用Handle句柄而不是裸指針。Handle是一個(gè)全局資源表里的索引釋放時(shí)把表項(xiàng)標(biāo)記為“懸空”任何訪問到懸空項(xiàng)的操作都在Debug模式下立即報(bào)錯(cuò)而不是等到野指針導(dǎo)致隨機(jī)崩潰。第二道防線是渲染資源必須上引用計(jì)數(shù)并且主線程和渲染線程各持一份引用。線程間轉(zhuǎn)移資源所有權(quán)時(shí)必須顯式調(diào)用傳遞接口禁止裸地從一個(gè)線程往另一個(gè)線程塞資源指針。第三道防線是強(qiáng)制打斷點(diǎn)在特定幀號(hào)配置一個(gè)“在第X幀后讓渲染系統(tǒng)進(jìn)入半同步模式”讓問題出現(xiàn)時(shí)可以穩(wěn)定復(fù)現(xiàn)而不是碰運(yùn)氣。這些防御聽起來瑣碎但渲染系統(tǒng)后期開發(fā)能不能睡得著覺全看這些。越到后面大家比的不是誰畫面好而是誰在改大功能時(shí)不容易炸。架構(gòu)護(hù)住的是長(zhǎng)期迭代的穩(wěn)定性這比短期性能更重要。5.3 視覺驗(yàn)證方法不止是“看著沒問題”渲染系統(tǒng)寫起來最可怕的bug是那種“看著沒大問題但就是哪里不對(duì)勁”。比如陰影有一幀延遲、法線方向有微小偏差導(dǎo)致高光點(diǎn)不對(duì)、色調(diào)映射在暗部產(chǎn)生色偏這些主觀層面的問題無法用數(shù)字?jǐn)嘌詠碜詣?dòng)檢測(cè)。我的經(jīng)驗(yàn)是建立一套視覺參考基線。做法很簡(jiǎn)單在固定場(chǎng)景、固定相機(jī)、固定畫質(zhì)設(shè)置的條件下每一版改動(dòng)都輸出一張參考截圖或者一段固定時(shí)長(zhǎng)的視頻放進(jìn)版本控制系統(tǒng)里。改動(dòng)渲染相關(guān)代碼時(shí)自動(dòng)跑一遍基線場(chǎng)景用像素差異比對(duì)工具檢測(cè)差異。任何意外的差異都會(huì)在提交前暴露出來而不是等美術(shù)同事在編輯器里發(fā)現(xiàn)“燈光怎么變得怪怪的”。另外一個(gè)針對(duì)渲染的實(shí)用工具是調(diào)試可視化模式線框模式、僅深度模式、僅法線模式、僅基礎(chǔ)色模式、熱力圖模式顯示DrawCall數(shù)量或過繪制程度的色彩疊加。調(diào)試復(fù)雜渲染問題時(shí)能有辦法把“看到的畫面”分解成“自己?jiǎn)为?dú)的一層輸出”來查看定位問題的效率會(huì)翻倍上升。比如顯示霧效熱力圖能一眼看出某個(gè)區(qū)域霧濃度異常是采樣點(diǎn)分布引起的還是算法錯(cuò)誤引起的。這些“開關(guān)式”調(diào)試可視化做起來成本不高但幾乎是渲染系統(tǒng)架構(gòu)里最值回報(bào)的一個(gè)功能。最后說一個(gè)我個(gè)人繞了很多彎路才想明白的體會(huì)渲染系統(tǒng)的架構(gòu)永遠(yuǎn)是“先跑通再飛”。第一版就想著一次性把Render Graph、延遲管線、級(jí)聯(lián)陰影、紋理流送全部做齊跨越太高結(jié)果調(diào)試時(shí)排查問題非常痛苦。更可行的路徑是用最小的管線先把全流程跑通從畫一個(gè)三角形開始到畫場(chǎng)景到加后處理每一步都保持整個(gè)鏈路是通的、可見的、可調(diào)試的然后逐層疊加復(fù)雜度。渲染系統(tǒng)這東西看起來是“只要最后效果好就行”但其實(shí)每一步的中間狀態(tài)都需要肉眼嚴(yán)格驗(yàn)證否則疊加到最后你分辨不出是哪一層出現(xiàn)了問題。架構(gòu)設(shè)計(jì)先解決“讓錯(cuò)誤無處藏身”再談“讓性能翻倍”順序別反。如果后續(xù)有機(jī)會(huì)我打算接著寫一篇文章聊渲染系統(tǒng)之外的資源管理和場(chǎng)景加載架構(gòu)有具體疑問的歡迎留言交流。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
性色国产东北露脸精品视频| 91少妇香蕉久久精品| 亚洲熟女诱惑| 精品区9| 日韩黄色电影网站| 激情综合五月丁香| 日韩内射视频| 亚洲天堂资源在线| 又摸又舔在线观看网站| 精品一久久久| 免费视频无码| 男人的午夜天堂| 国产精品懂色tv影视免费观看| 欧美亚洲影视| 韩日欧亚a级| 熟妇人妻一区二区三在线 | 成人激情无码在线视频| 欧美亚洲涩涩| 精品人妻中文字幕高清| 精品人妻av在线播放| 97超碰久久色| 成人精品视频一区二区| 91爱看| 成人看片网站| 欧美性爱一级操| 久草精品国产99| 欧美性爱www免费版| 天堂亚洲精品| 欧亚日本情色| 超碰无码加勒比| 97超碰影音| 久久华人网| 日日爱99| 欧美亚洲涩涩| 久插综合| 中文字幕视频一区视频二区| 亚洲图片偷拍欧美| 少妇500双飞99| 久久精品三级影视| 91N综合网在线| 天天操av懂色| 在线小说视频一区| 加勒比久久av| 国内一级精品| 啊啊啊啊啊操我视频| 国产精品欧美激在线| 插入粉嫩少妇视频| 狼人综合婷婷激情四射 | 男人天堂2019| 精品射1999| 国产成人欧美一区二区三区的国产| 人妻丝袜日本| 粉嫩av在线| 淫穴高潮色图| 先锋女优在线观看视频| 果冻传媒A片麻豆熟妇人妻| 东京男人天堂| 日本精品一区二区三| 97久久久精品| 高清不卡视频| 亚洲精品一二三四区| 美女啊啊啊啊pc| 超碰97爽| 亚洲国产中文字幕| 国产高清无码一区三区二区| 9 1果冻精品视频| 东北女人操逼| 熟妇的味道HD中文字幕| 欧美一级黄片免费播放| 日本免费一区二| 97在线资源| 国产9熟妇视频网站| 熟女一区二区三区四区| 91综合中文字幕| 欧美日本成人一区二区| 免费一级精品啪啪视频| 天天做天天爱天天爽| 久久久久久久一级黄色打同平台| 中出789在线视频| 啊嗯嗯啊好大好爽| 欧美色宗合| 亚洲国产精品成人综合| 欧美日韩成人| 日日黄色三级网站| 九九九九九九免费视频| 国产男女边吃边摸视频网站| 久久一二三四五六七八九区区区| 天天影视色香色欲| 91狠狠狠| 日韩性爱电影一区| 欧美最大综合网| 日本无码1| 热天堂一区二区| 啊啊啊啊无码| 免费簧片在线观看| 欧美高潮在线| 亚洲AV在线资源| 日日干天天干夜夜爽| 婷婷五月影院| 国产日韩在线播放| 欧美最婬乱婬爆婬性视频| 蜜桃传媒视频第一区入口在线看| 色五月综合网| 东北女人高潮视频| 99最新日韩偷拍视频| 久久黄色视频一区二区三区| 丰满少妇高潮无码| 久久性爱视频99| 乱色视频中文字幕| 亚拍在线| 欧美色亚洲色| 欧美亚洲日韩人妻在线观看| 裸体1区| 日韩中文字幕av在线播放| 综合国产97| 91在线丝袜| 在线免费观看高清无码视频| 九九色热| 色香色欲天天综合网天天来吧| 99热免费精品| 啊啊啊轻点在线观看| 91强热人妻| 图色综合网| 欧美高清第一页| 999在线电影香蕉| 一区二区三| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 99热精品青草在线| 亚欧免费| 久久是精品| 综合激情五月天| 香港澳门日本三级网站| 毛片99-全集电影手机免费观看完整-B029AV| 强奸乱伦av电影| 操逼逼一区视频| 秋霞鲁丝午夜无码一区二区三| 97超碰欧美精品| 日韩av影片在线观看| 四虎在线免费视频| 欧美自拍偷拍免费观看| 日本亚洲嫩草影院啪啪| 长长久久曰曰夜夜成人网| 天天综合中文字幕 91| 国产成人无码久久精品| 资源新线在线天堂| 色天使大香蕉| 十八禁成人网站在线观看| 91路www| a级成人毛片免费视频高清| 九九国产| 蜜臀AV成人精品蜜臀AV久久| 精品久久久久久中文| 青青久久久| 天天操夜夜操| 久操网线| 综合影院永久入口国产| 超碰97首页| 欧美精品自慰系列寂寞少妇| 亚洲一区日韩精品中文字幕| 欧美高潮| 96精品久久久久中文字幕| 岛国毛片手机在线观看| 国产suv一区二区三区6| 中国黄色特级精品一区二区三区片| 久久东京国产精品视频| AV网站高清无码在线观看| 亚洲另类色综合网站| 日本少妇va7777| 亚洲午夜福利在线影院| 人人搞人人插人人操| 国产91专区| 在线啊啊啊啊| 亚洲精品亚洲人成人网| 亚洲成人福利电影免费| 在线免费观看高清无码视频| 五月天欧美色图| 久久婷婷一区二| 成人三一级一片aaa| 好爽视频在线观看| 久肏视频字幕| 伊人久久亚洲色欲综合网站| 伦理日韩国产久久| 黑人与人妻| 99999久久久久9国产精品| 激情啪啪拍91| 日韩A优精品在线观看| 欧美资源| 三上悠亚在线毛片91| 美女网站黄页| 亚洲人妻精品一区二区| 春色91| 国产白丝网站| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 狠狠爱大香蕉| 国产嫩草精品A88AV| 老司机午夜精品福利视频一区二区 | 色情亚洲日本成人| 久久人妻四季| 天天看综合网| 嗯嗯啊啊用力视频免费| 视频二区美腿丝袜制服人妻欧美| 人妻少妇av在线观看| 国产操操日韩三级黄| 少妇熟女1区2区3区| 午夜性生活av免费在线看| 五十路三区在线| 日本黄色精品| 欧美美女视频| 欧美大香蕉久| 国产av美女被艹的乱叫| 久久久久久国产无码精品| 日韩簧片免费看| 亚洲视频中文一区| 国产午夜福利专区综合| 中文字幕,人妻,日韩| 老司机午夜精品视频| 国产精品乱码久久| 91久久九九精品国产综合| 青娱乐啪啪视频| 综合网91| 日本精品网站在线中文| 3p国产色噜噜一区| 色播五月丁香| 久草精品国产蜜臀 | 欧美不卡在线一区二区| 日韩性爱视频在线免费观看| av天堂手机版追回| 黑操B| 91在线色| 十八禁电影伊人网| 亚洲激情久久久伊人综合| 99视频自拍区| 97爱爱| 五月婷婷丁香六月丁香| www色婷婷| 国产精品交换一区二区| 亚洲精品 超碰| 一本久久精品中文字| 亚洲男人天堂2| 免费精品无码一级毛片牛牛影视| 涩综合导航| 天天干人人干天天日97| 2020中文字幕| 伊人色综合欧美| 春色91| 国产日韩区| 中文字幕在线观看二区三区| 久久久久ab| 超碰天天去日穴| 性色AV蜜色av色欲av| 青娱乐国产盛宴视频| 色色婷婷五月| 人人超碰在线观看黄| 久久婷婷一区| 秋霞一级A片黄色视频| 成人在线视频网| 久啪| 国产亚洲精品美女久久久| 久热婷婷| 久久熟女嫩草成人片免费| 内射老妇BBWX0C0CK| 婷婷中文网| 九九九综合精品| 91久热| 2018天天日天天日| 成人资源中文字幕在线观看天天| 狠狠躁天天躁日日躁97| 日韩三级在线观看网站| 五月婷婷综合网| 久久精品99久久久久久| 国产亚洲欧美每日在线| 人人爽天天爽| 久久黄人人爽视频| 新版天堂中文资源8在线| 免费网色网站| 91搞逼视频| 五月开心网| 加勒比av网| av网页一区二区三区| 97人人中文网| www熟女乱伦com| 色蜜AV| 啊啊啊 在线| 国产精品视频麻豆入口| 美性中文综合网| 国产精品一区二区a| 亚洲欧洲小说图片视频 | 中文字幕在线免费观看| 人人透人人操| 少妇精品久久| 天天爽夜夜欢视| 日本操逼无码| 国产夫妻一区二区| 国产操伦| 国产成人精品午夜福利| 93人人操人人| 99福利社| 99热这里是精品| 日韩一级二级三级| 啊啊啊用力在线观看| 97超碰色色| 91无码中出人妻视频| 精品日日人妻| 夜夜夜夜夜夜夜夜夜狠狠狠狠狠狠狠| 97色伦97色伦国产欧美| 天天色怡春院| av天堂手机版追回| 国产精品久久久久久久久久久久久久吹 | 嗯啊不要在线| 日韩性爱一级片| 日韩久久超碰色| 超碰在线欧美性爱激情| 亚州熟妇精品| 爱做久久久久久| 资源新线在线天堂| 亚洲精品 超碰| 欧美成人一级免费电影| 天堂成人网| 中文字幕 一区二区 亚洲无码| 国产在线视频午夜精华在| 欧美色图私拍91| 在线国产福利网址导航| 亚洲有薄码区久久在线一区| 一道本久久棕合爱| A 在线网址| 久久久96精品| 亚洲 中文 女同| 国产操逼视频在线观看| 9久久久久久| 精品久久在线区一区| 亚洲国产成人精品999| 伊人aaa| 人人操av| 最近2019中文字幕国语免费版| 9美女超碰在线免费观看| 色色色色色色色色色色色色色色综合 | 久久成人国产精品| 久久激情四射婷婷丁香五月天| 91粉芽高清在线一区二区| 日本成人A片网站| 自拍啪啪视频| 97精品中文字幕| 殴美,日韩国产伦精品| 久久riav中文精品| 黑人娇小av在线播放| 黑人与人妻| 久久精品人体AV| 涩涩这里只有精品视频| 大肥女高潮bbwbbwhd视频| 在线色资源| 精品久久99| 国产农村一一级特黄毛片| 精品亚洲一区在线观看| 91高潮| 在线五区| 人人摸人人舔一区二区| 久久综合女优| 亚洲精品久| 综合色99| 无码自拍SM| 大黄片做爱的大的| 免费黄色片。| 一本色道综合久久欧美| 蜜臀久久99精品久久久久久无删减| 亚洲丝袜99| 97精品视频免费| 欧美日韩国产中文精品字幕自在自线,| 午夜影美女日鸡鸡天天视频国产| 成人小说另类在线| 国产黄色剧情影片麻豆免费播放| 日本综合色图| 天天久久| 大学生美女口爆| 亚洲风情在线观看| 国产精品久久久久久亚洲色欲| 国产免费内射视频| 欧美性夜| 亚洲图片欧美色| 久夜操| 久久久免费高清中文视频| 91色堂| 欧美大战久久久伊人| 操学生天天| 久久久久亚洲精品| 亚洲精品国产av天美传媒| av大香蕉网站| 成人A片男人的天堂| 欧美日韩国产电影| 啊啊啊啊好疼视频| 精品999一区二区| 九九草| a'v在线资源| 日韩一级二级三级免费看完整版| 免费αV在线视频| 久久久久久一日韩字幕无码| 亚洲第一精品在线视频| 午夜寂寞欧美| 色99色| 无码99| 高跟伊人julia ann| 欧美亚洲日韩16色| 欧美同性恋 的搜索结果 - 91n| 欧美色图99| 99999国产精品| 香港澳门日本三级网站| 国产精品无码av嫩草| 黄色免费网页无码| 国产亚洲人妻综合日韩 久久| 麻豆天美国美国产AV| 天堂日本亚洲欧美| 四季av一区二区凹凸精品小说| 久久久久女教师免费一区 | 伊人精品久久网站| 三级片网站在线播放| 在线黄页看毛片| 夜夜嗷嗷一区二区| 91制服丝袜| 韩国一级做a久久久久| 日本免费中文字幕在线| 91亚·色| 久久9精品网站| 啊啊啊操死我| 三级片网站在线播放| 欧美大香蕉在线观看| 天天澡天天爽日日av| 亚洲图片小说欧洲| 一个国产在线综合网站| 婷婷五月天丁香花| 色妇91| 亚洲牲交| 日日夜夜天天| 午夜无码熟妇丰满人妻| 成人性爱AV在线免费观看| 日本123区操B视频| 制服中出中文人人精品| 91免费看一区二区三区| 亚洲AV成人在线| 国产日韩人人| 欧美的性爱网站免费| 婷婷99狠狠| 日影院久久婷婷夜夜网| 1769国内精品视频| 东京日日夜夜| 国产免费小视频| 夜夜影视四色| 97超碰这里只有精品| 熟女乱3伦999| 欧美综合骚| 东京男人天堂| 日日碰狠狠添天天爽超| oumeizonghese,www| 亚洲国产精品无码AV久久| 日本黄 R色 成 人网站| 欧美日韩97在线| 日熟女| 少妇人妻无码| 人人操人人爽人人操人人| 日韩精品一二三四| 97在线视频网站| 婷婷亚洲天堂| 中文字幕三四五区| 男人天堂一区二区| 大香蕉综合网| 天天肏美女| 91视频综合网| 99中出在线| 日夜伊人网| 嗯嗯啊啊视频在线看| 欧美日韩中文字幕不卡| 久久婷色| 999久久久九九九九| 熟女精品一区二区三区| 美欧色综合| 精品精品精品| A级在线视频| 日韩紧密久久| 欧美激情另类一区二区| 亚洲综合贴图91 | WWW4虎| 丁香婷婷五月| 精品国产72| 少妇无码av专区线| 亚洲精品97中文字幕| av午夜影院在线播放| 国产性爱欧美性爱在线 | 尤物视频偷拍免费| 欧美黄色片AAAAA| 99热这里都是精品| 曰本精品久久久| 激情无码日韩| 超碰97久| n1038 一二三区| 日韩欧美tv一区二区在线观看| 超碰欧美97资源| a网站免费观看| 国产精品精品系列在线观看| 国产丰满少妇久久久精品影院| 久久久久久久国产视频| 夜夜久久久| 麻豆av一区二区三区| 高清一区AV无码| 人伦四五区| 精彩视频日韩| 成人性爱高清视频免费看| 青青草一区二区高清无码视频| 日韩人体偷拍| 国产黄色av大片网站| 日本大香蕉综合网红本杳社区| 久久精品视频久久久| 北约熟女超碰| 深夜福利黄片| 97中文字幕一区| 久久9亚洲| 国产极品一区二区三区三州| 97碰| 性欧美91| 十八禁电影伊人网| 男人下部插入女人下部| 久久久国产成人一区二区三区在线 | 久久精品人人做人人看| 久久精品国产97欧美精品亚洲 | 嫩草 人人网精品| 99操逼| 在线A日本| 天天拍夜夜| 欧美大干日韩| 精彩国产视频播放1区2区| 另类专区在线观看| 日本操大逼| 超碰在线人妻中文字幕| 友优传媒精品在线一区二区| 色踪合AV| www.男人天堂| 日日橹狠狠爱欧美超碰| 色蜜AV| 国产日韩欧美三级片| 久久精品福利影院| 成人免费性爱视视| 97久久国产| 欧美草草高清日韩视频| 国产热av| 国产一区二区在线播放,久久亚洲精品中文字幕第一区,亚洲精品在线中文字幕视频 | 国产农村妇女精品一| 熟妇乱伦一区二区| 性色中出| 一区二区三区无卡视频在线观看| 91色艳| 96国产精品| aaa亚无码专区| 黄色小视频日本txt| 国产农村妇女精品| 男人精品区| 中文字幕熟女人妻丝袜丝| 久久草视频污视频| 欧美 亚洲 另类 综合| 亚洲乱色视频一区、二区在线| 五月激情天| 麻豆久久精品亚洲精品88| 久久久无码精品人妻二区| 久久99精品视频| 91干熟女| 97久久超碰| 激情小说五月天| 婷婷五月天色色| 日韩人妻无码专区| 亚洲第一页色| 色哟哟-国产专区| 欧美熟妇乱码在线一区| 人人摸人人干| 亚洲无限观看| 亚洲欧美成人网站AAA| 欧美中文字幕男人天堂久久精品| 920日本午夜免费| 亚洲熟妇自偷自拍另欧美| 久久人妻视频网| 欧美 亚洲 制服 精品| 综合网,亚洲,欧美| 9 7超碰在线免费观看| 久久仑合| 天天干1区2区在线| 亚洲情色 欧美| 亚洲中文字幕熟女| 欧美,日韩综合久久| 亚州AV无码国产精品| 久操不卡视频| 欧美精品成人亚洲| 亚洲欧美精品久| 伊人四虎综合| 国产91精品在线免费| gogogo免费高清看中国国语 | 亚洲少妇综合| 91精品老女人| 青青操综合网| 精品妇女一区二区三区| 97视频620| 骚鸭AV| 91操操操操| 操逼无码一区| 欧美综合骚| 91欧美性| 精品午夜福利导航| 国产尤物AV尤物在线观看不卡| 免费一级视频特黄色大片| 91男女啊啊啊| 久久亚洲天堂| 国产一区二区三区高清视频| 亚洲国产麻豆一区二区三区| 亚洲18禁| 成人无码欧美一级A片狼牙直播| 大香蕉免费3| 日韩无码成人电影| 九九热精彩视频| 久久精品一区二区三区四区五区| 欧美劲爆视频一区二区| 一区中文字幕二区日韩| 97在线视频免费看| 多乙久久久久久| 国产精品午夜成人福利| 久久一区二区蜜桃| 自拍大香蕉乱插| 99re9这里只有精品| 97在线公开视频| 九九干| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 人人干黄色| 人妻啊啊人妻啊| 91模特在线观看| 美国人人操人人操| 亚洲大色堂| 国产色产精品在线观看| 国产熟女少妇一区| 国产sv美女内射| 嫖老熟女A片一二三区| 亚洲情色一区二区三区| 成人五级久久| 亚洲人在线成线成人| 男人天堂欧美| 成人情色一区二区| 美女9118禁| AV中文在线| 欧美另类丝袜熟女| 色色99| 欧美日韩色| 99色婷婷| 成人性生活高清视频在线播放| 337p大胆噜噜噜噜噜91Av| 五月天人妻综合| 久久久精品无码亚免费| 国产欧美日产一区二区三区 - 国产欧美日 | 欧美日韩国内不卡| 97在线欧| 六月丁香久久| 亚州性9| 亚洲精品久| 国产家庭乱伦表演| m欧洲一级午老| 精品久久久久久中文| 久久夜精品一区二区三区| 中文字幕一区二区在线日韩精品| 亚洲素人网| 国产树林里野战在线看| 91精品操美女| 囯产精品一区二区三区线|亚洲人成无码网WWW动漫|国产精品免费一级... | 五月丁香综合啪啪| 中欧人妻丝袜中文字幕| 美腿色图| 国产91啪| 九九操久久国产免费视频| 黑丝少妇在线观看| TS人妖另类精品视频系列| 天天日天天舔东京热| 狠狠操夜夜| yazhououmeizongya| 亚洲综合小说另类图欧美视频激情小说色五月天 | 国产乱人妻精品入口| 操逼逼中文字幕| 中文字幕国产| 爱干爱射网啊啊啊| 久久鲁干| 九九九久久久| 国产AV人人夜夜澡人人爽麻豆| 综合色色婷婷| 中国农村熟妇毛片视频| 欧美精品欧美精品系列| 亚洲 欧美都市激情| 中文字幕人成乱码熟女香港| 亚洲国产精品久久久久婷婷老年| 少妇超碰在线| 国产区91柔拿会所技师| 91精品人妻一区二区三区蜜桃| 日本一区二区三区精品| 国产区性爱在线视频秋霞豆| 一区二区三| 亚洲91大片| 久久天天摸| 欧美极度丰满熟妇hd| 久久精品国产Aⅴ| 91欧美巨乳| 伊人色综合超碰| 一区二区娱乐网站| 成人26uuu| 大香蕉视频啪啪啪啪| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 91美女视屏| 亚洲综合中文字幕有码| 欧美操人视频| 欧美亚洲今日在线| 九九人妻| 五十路熟女工口 | 97天天在线| 你草精品在线视频| 婷婷香网站| 亚洲春色欧美激情自拍| 老司机香蕉| 欧美最大综合网| 亚州精品丝袜-不卡成人免费| 99久久婷婷| 蜜乳性色无码专日粉嫩骚逼AV| 在线日韩日本亚洲国产| 97超碰欧美精品| 人伦四五区| 91熟女.com| 精品一国2| 一区二区不卡| 久草新免费| 中美日韩毛片| 伊人色综合超碰| 人妻天天爽夜夜爽爽| 九九综合| 天天干天天拍| 狠狠干综合| 丁香六月婷婷综合| 丁香六月婷婷| 97色碰| 91精品大奶人妻| 免费人成?大片在线播放| 日韩国产成人自拍视频| 日韩探花精品在线视频| 国产操偷| 国产18精品亚洲精品| 久久性爱大全| 凹凸视频特色日本特黄| 亚洲精品久久久久久久蜜桃臀| 日本精品高清一二区一本到| www.国产高潮精品| 国模精品一区二区三区苹果色戒| 日韩精品一区的| 五月丁香婷婷色| 992这里有精品| 天天综合91在线| 极品白嫩福利在线| 97天天综合网| 青娱乐手机日韩在线视频| 天美欧美国产| 日本天堂在线播放| 无人区高清电影免费观看一区二区三 www.qmcai2.com | 中文字幕女同在线| 人人九九精| 亚洲图片欧美偷拍| 无码精品久久久久久亚洲| 日韩强奸av| 亚洲啪啪视频一区二区| 青娱乐日韩无码| 日韩啪啪啪啪啪| 亚洲国产综合久久久性感熟妇| 亚熟在线| 黑人综合色| 97超碰中文在线| 国产一区自拍欧美日韩| 免费看欧美美女黄色大片| 再深点灬舒服灬太大了添视频| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 热G综合热G中文| 91精品国久久久久久无码| 影音资源男人日韩| 91人人| 无遮挡一级毛片视频免费的| 凸凹视频在线观看| 精品国产乱码久久久久久影片| 色婷婷综合久久中文字幕雪峰| 丝袜美腿射精91| 九热中文字幕| 色在线69堂| 江都AV在线| 97国产综合欧美| 欧美日韩1234| 国产色呦呦| 欧美中文字幕男人天堂久久精品 | 91夜色| 日韩视频中文字幕| 激情抓乳插进去啪啪啪日韩 | 91欧洲国产成人久久精品网站| 美国人人操人人操| 天天日少妇逼AV| 中文不卡视频| 东北丰满熟女国产一区| 粉嫩国产精品久久粉嫩| 91伊人久久在线| 人人操人人插 - 百度 - 百度| 亚洲精品无码少妇久久| 久久精品老司| 99re在线| 亚洲国产日韩欧美熟妇在线| 精品乱码久久久久| 国产白领连续中出在线观看| 啊…啊…操我用力操我| 99re在线精品78| 亚洲av性爱电影| 自偷自拍的亚洲视频| 蜜桃色院一区久久 | 久久精品国产AV一区二区三区| 五月天精品| 亚洲偷拍自拍在线视频| 大地资源在线观看中文第二页| 欧美97日韩| 99久久99久久免费精品蜜臀| 手机看片1025| 俞拍自拍| AAAAAAAAA黄片| 欧亚久久偷拍视频| 97干在线| 91蜜桃传媒精品久久久一区二区| 综合久久久久久久综合网| 免费强奸av| 另类 日韩 熟女| 欧美少妇性乱| 九月丁香婷婷色| 91丝袜激情在线| 亚洲AV成人无码一二三久久| 久久国色天香香蕉| 懂色Av| 乱日视频| 国产精品分类在线观看| 蜜奶av| 国产黄色小视频网站| 超碰久久性爱| 99re视频这里只有精品| 精品色色| 97免费在线| 四虎影库国产精品免费| 凹凸视频在线一区二区| 97综合在线观看| 富女玩鸭子一级毛片| 中文字幕视频2区| 天天爽夜夜爽夜夜爽精| 蜜臀色乳| 91精品少妇搡搡搡| 亚洲精品一区二区日本| 91最新综合| 搞中出久久| 国产AB视频| 久久久中文| 男人的天堂久久久| 97内射偷拍| 成人一级性爱| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 秋霞怕怕片| 你草精品在线视频| 午夜偷拍久久熟女| 九九九不卡| 夜夜嗨AV一区天天| 成人97人人超碰人人| 久草精品视频| 日韩精品一区二区三区色欲| 97在线免费视频观看| 日韩99神马视频片| 欧美黄色片AAAAA| 97日韩欧美| 亚洲欧洲色情高清| 伊人久久大香大香线蕉中文| 国产精品一区二区三区四区五区| 黄页大片在线观看| 人人操人人插人www| 亚洲少妇自拍中文字幕懂色| 色嘟嘟人妻天堂网| 一区二区三区黄片免费观看| 国产农村一一级特黄毛片| 亚洲情色在线| 婷婷久久五月| 91色人妻| 78精品在线| 精品小视频在线| 99久久婷婷国产综合精品草原| 欧美一级黄色免费专区| 国产97/欧美| 欧美色图私拍91| 91av熟女人妻| 黄骗免费| 九九九久久久| 老鸭窝在线视频播放| 国产性感骚丝袜在线| 在线观看综合精品亚洲| 另类亚洲一区二区三区| 激情婷婷黑人91| 九九亚洲精品| 亚洲丝袜色| 日韩性爱再线视频| 国产福利精品最新在线| 老司机免费视频在线91| 大胆91| 尤物一级在线免费观看| 伊人五月天婷婷| 日韩91网站| 色97国产69香蕉| 97公开久久| 国精品一区二区三| 亚洲操操| 牛黄色久午久| 国产欧美日韩女同性恋ww喷水精品| 91女色| 精品人妻伦一区二区三区久久| 亚洲熟女少妇免费视频| 亚洲无码成人精品| 久艹日日日| 天天天干977| 国产AV天美传媒一区二区三区 | 久久精品28| 天天爱综合网| 91丝袜美女视频| 无码WWW免费视频网站| 96精品一区| 亚洲综合校园春色| 欧美激情久| 久久久久久久久久久久黄色| 亚洲s在线观看| 青青草九九九九九| 天天摸,夜夜摸| 久久久久人妻| 五月天综合在线| 翔田千里av一区二区三区| 欧美网站免费| 亚洲AV永久无码一区仙野| 一区二区三区 日韩欧美| 色在线亚洲视频www| 久久精品国产AV一区二区三区| 91精品无码久久久久久久| 日日夜夜精品视频| 91少妇| 亚洲中文字幕熟女| 亚洲成人精品在线一区| 成人无遮挡毛片免费看| 午夜福利1区2区3区| 99久久久久久亚洲精品不卡| 国产精品高清2021在线| 在线岛| 伊人网综合在线视频| 国产三级日产三级韩国三级| 国产伦乱91| 99精品网| 伊人五月天青青草婷婷| 欧美少妇第一页| 嗯嗯啊啊好疼| 骚逼自拍99| 久久久久久人体| 性色亚洲| 国产在线强奸视频| 日本www操操操| 97人妻色| 操逼网免费无码视频| 91色噜噜狠狠| 三级AV入口| 岛国大片国产| 嫩草影院在线观看精品| 亚欧Av| 国产 v乱码一区二| 国产日韩欧美三级片| 日本在线一二| 九九玖玖精品| 欧美日韩青操| 蜜臀久久99精品久久久久电影| 久久岛国| 久久久久亚洲三级电影| 午夜一区二区三区国产| 国产呦精品一区二区三区下载| 99在线免费视频| 91丝袜在线观看视频在线观看| 91挑色欧美| 日韩天天综合| 奇米四色网| 国产自偷自拍一区| 啊啊啊啊啊操我视频| 精品久久久不卡一区二区| 天天综合欧美黑人| 尤物视频视频官网| 日本五十路熟女一区二区| 色五月婷婷麻豆在| 蜜桃久久精品一区二区三区| 亚洲欧美啪啪| 日韩一级性爱无码| 日韩在线观看中文字幕视频| 欧美日韩人人精品| 久久9免费视频| 精品欧美不卡在线播放| 96久久精品一二三区色欲| 嗯嗯,啊啊,国产精品| 青青操视频在线| 懂色Av| 久久露脸国产老熟女| 午夜天堂精品久久| 日韩人妻无码不卡网站| 日本免费一级AAA大片器| 久久久久久久人妻| 黄色一区三区| 91精品无码久久久久久久| 国产成人自拍视频在线| 91久久18禁| 天美传媒精品一区二区| 亚洲欧美在线观看2021| 欧美在线伊人色| 97chaopengongkai| 丝袜美腿制服人妻二区中文字幕 | 日韩操逼性鲍| 99这里有精品视频| 九热超碰| 性久久| 青青操在线亚洲视频观看欧美在线| 午夜欧美精品久久久| 强奸乱伦日韩AV| 精品国产国产AV| 欧美亚洲自拍另类人妻| 久久久A∨| 国际精品久久久| 人人操人人大香蕉| 999九九精品| 成人无码在线视频网站| 中文字幕丝袜美腿| 超碰97人妻在线| 日韩精品99999| 97国产|免费| 超碰人人草| 精品国产a∨一区天美传媒| 乱伦3P视频| 搡老女人老91妇女熟女| 天天色,天天干,天天干| 亚洲色图美腿丝袜| 人人操人人插人www| 91国产美女丝袜足交精品视频 | 国模精品一区二区三区苹果色戒| 超碰97亚洲区| 美女国产一区二区久久| 亚洲色图伊人网| 色成人Www精品永久观看| 嗯嗯啊好大| 亚洲成人一区二区精品| 少妇99| 亚洲第一成人影院色播| …中文字幕亚洲乱,97人妻无码费视… | 欧美狠狠干| 日本青青草在线| 天天夜躁日日躁狠狠2002| 一及黄久一点| 欧美极品性爱天天射| 国产女人9999| 色综合尤物| 欧美性性性| 91在线视频免费中出| 91人妻最真实刺激绿帽| 亚洲自拍欧美色综合| 日本熟妇人妻中出视频| 在线洲亚线| 日韩无码嘿咻黑热久| 香蕉国产精品麻豆亚洲欧美日韩| 激情终合网| AA特级绝黄| 日本大香蕉综合网红本杳社区| 又黄又爽在线观看视频| 午夜亚洲WWW湿好大| 欧美色日| 91大学精品激情戏| 日韩黄片影院| 中文精品少妇天堂| 日本特黄f c2| 天天插夜夜操| 日韩AV噜噜噜一区二区三区四区| 日本三级韩三级99久久| 国产强奸乱伦xd| www.久久超碰| 91在线视频免费中出| 在线一道啪| 色香欲综合| 成人一区二区三区四区| 超碰av在线| 亚川综合视频| 亚洲欧洲日韩中文字幕一区| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 91网站在线播放| 爽爽歪在线视频| 能在线播放的国产三级| 日韩精品午夜操呦呦不卡影院| 亚洲色欲一区二区三区| 日韩丝袜二区| 亚洲精品一区二区精华| 91操熟女视频 | 国产区日韩区在线观看| AV久日| 欧美狠狠弄| 丁香色色网| 日本性爰一道本| 日韩综合色图| 东京热大香焦| av操操不卡| 激情色播| 九色在线熟女国产黑人| 激情小说在线视频| 青青青草原| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 青娱乐国产剧情av一区| 97chaopenrihan| 欧美老妇女内射网址| 五月婷婷深深爱| 亚洲黄色电影| 四虎影视永久在线免费| 啊啊啊啊啊在线| 欧美少妇高潮视频| 夜夜骑操视频| 白丝AV网站| 日韩三级久久久| 亚洲综合成人网| 无码操逼网| 亚洲无码成人精品| AAAA级日本片免费视频| 欧美激情 亚洲色图| 日本顶级天天操狠狠操夜夜操中文字幕| 欧美亚洲综合色| 五月天久久久| 视频分类 国内精品| 操日韩第| 手机看片日韩人妻| 人人爱人人乐人人操| 日逼97| 日日躁天天躁狠狠躁| 超碰久久精品| 在线一区| 欧美日韩青操| 欧美 日韩 另类 亚洲| 夜夜爽妓女| 九九久久一区二区三区| 久久精品人体| 久久婷婷国产一区二区色| 成功精品影院| 大香樵伊人网| 天堂岛av| 国产乱码久久| 天美国产三级传媒| 欧美综合站| 91在线美女| 69AV女优男人的天堂| 日本少妇va7777| 欧美激情视频一区二区三区不卡| 97超碰色五月| 久艹伊人精品综合在线| 色哟哟-国产专区| 人人澡综合涩| 97资源免费视频| 日韩 女同 综合| …中文字幕亚洲乱,97人妻无码费视… | 嗯嗯不要视频| 91亚洲网| 91视频伊人| 日韩Va亚洲va欧美Ⅴa久久|