日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

ARTICLE DETAIL

資訊詳情

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

CEF離屏渲染(OSR)高性能實現(xiàn)與調(diào)優(yōu)指南

CEF離屏渲染(OSR)高性能實現(xiàn)與調(diào)優(yōu)指南 簡介在 CEF 離屏渲染開發(fā)中性能瓶頸往往集中在紋理傳輸與合成環(huán)節(jié)尤其是在多窗口、復(fù)雜頁面和 GPU 加速場景下。這份示例工程面向需要借助 D3D11 共享紋理優(yōu)化 OSR 渲染效果的開發(fā)者圍繞官方建議的 OnAcceleratedPaint() 回調(diào)展開演示了從 GPU 表面獲取渲染結(jié)果、完成混合與合成的完整過程可有效改善復(fù)雜 HTML 內(nèi)容下的渲染流暢度與響應(yīng)速度。資源包體積僅 137KB共 32 個文件主體為 C 源碼同時包含多套 CMake 構(gòu)建腳本、Windows 批處理命令、補丁文件、說明文檔及少量資源文件結(jié)構(gòu)緊湊便于對照工程生成、代碼閱讀與二次改造。當前已有 77 人瀏覽學習。除核心混合器與合成器實現(xiàn)外資源還覆蓋 VS2017/VS2019 工程生成腳本、FindCEF 模塊查找方式、共享紋理問題補丁和許可證說明適合準備在桌面應(yīng)用中嵌入網(wǎng)頁、希望繞開離屏渲染兼容性坑點的中高級 CEF 開發(fā)者。1. 離屏渲染不是新東西但 CEF 的 OSR 總被人用成低性能如果你需要在游戲引擎里嵌一個設(shè)置界面、在直播工具里放一塊可交互的 Web 面板、或者在自研渲染器里塞進完整的 Chromium最直接的辦法不是把瀏覽器窗口釘在你的窗口上而是讓 Chromium 把每一幀的像素直接交到你手里——這就是 CEF 的離屏渲染OSR。這個演示 zip 里打包的東西本質(zhì)上就是一套「怎么把 CEF 的 OSR 跑起來并且跑得不像玩具」的最小工程。說它高性能是因為默認的 OnPaint 回調(diào)拿到的位圖直接拷給 GPU 的方式在大分辨率下會把 CPU 打滿真正能用的方案要繞開這條路。這篇筆記面向兩類人一類是第一次接 CEF想知道 OSR 和普通窗口模式差在哪另一類是已經(jīng)在用 OSR 但被幀率、黑屏、輸入法坑到懷疑人生的。我按自己做過的落地路徑來拆從原理到代碼到參數(shù)到排錯。2. 選型與原理為什么 OSR 能嵌進任何渲染管線以及性能從哪來2.1 三種嵌入瀏覽器的方案對比窗口句柄嵌入、窗口重父化、OSR常見做法是把瀏覽器內(nèi)容裝進自己的應(yīng)用大致有三條路。第一種是在宿主窗口里創(chuàng)建了一個子窗口把 CEF 的瀏覽器窗口直接掛進去SetAsChild這個方案最簡單瀏覽器自己處理輸入、繪制、IME完全不用你管。缺點是它是個真正的系統(tǒng)窗口你的渲染引擎沒法對它做變換、裁剪、混合去不掉彈窗和陰影跨平臺表現(xiàn)也不一致。第二種是窗口重父化把瀏覽器的原生窗口 reparent 到你的窗口層級里本質(zhì)上還是窗口模式只是換了個爹邊框和焦點問題依然存在。OSR 是第三條路瀏覽器不創(chuàng)建可見窗口Chromium 內(nèi)部照常布局、繪制、合成最終把像素數(shù)據(jù)通過回調(diào)交給你。你可以把這堆像素貼到 3D 物體表面、寫進視頻幀、或者和自研 UI 做統(tǒng)一混合。代價是輸入事件、焦點管理、IME、拖拽這些本來由系統(tǒng)窗口幫你做的事全都要你手動轉(zhuǎn)發(fā)給 CEF。三種方案的取舍很清晰要求開發(fā)速度、不需要不規(guī)則裁剪就選窗口嵌入要嵌進 OpenGL/D3D/Vulkan 管線、要統(tǒng)一渲染就選 OSR。方案開發(fā)成本功能完整度嵌入自研渲染器典型場景窗口句柄嵌入低高不行窗口層級限制多桌面工具、IDE 面板窗口重父化低高有限位置同步麻煩老項目遷移OSR中高中需補償輸入/IME完全可控像素/紋理任取游戲 UI、視頻合成、虛擬桌面我做桌面端三年最后穩(wěn)定下來的選型套路是只要渲染引擎已經(jīng)存在、或者產(chǎn)品圖里出現(xiàn)過「任意形狀的瀏覽器窗口」就別猶豫直接 OSR。2.2 CEF 的 OSR 工作鏈路從 Chromium 合成器到你的紋理OSR 的核心是讓 Chromium 的合成器把最終畫面輸出到內(nèi)存或共享紋理再通過 CefRenderHandler 接口交給你。這里面有兩個回調(diào)最容易混淆一個是 OnPaint它給你的是 CPU 可讀的位圖數(shù)據(jù)RGBA適合小窗口、低幀率、或者你本來就做軟件渲染的場景另一個是 OnAcceleratedPaint它交給你的不是像素而是一個 GPU 紋理的句柄在 Windows 上是 D3D11 共享紋理在 Linux 上是 dmabuf 文件描述符。拿到句柄后你的渲染器可以直接把它作為紋理采樣省掉了 CPU 到 GPU 的上傳。鏈路大致是這樣渲染進程產(chǎn)生產(chǎn)出GPU 進程做合成合成結(jié)果以紋理或位圖形式跨進程交給瀏覽器進程瀏覽器進程通過 CefRenderHandler 的 OnAcceleratedPaint 或 OnPaint 拋給你。所以性能瓶頸從來不在 Chromium 本身而在你接住幀之后干了什么。很多人覺得 CEF OSR 卡其實是自己寫的 OnPaint 里在做像素格式轉(zhuǎn)換、memcpy、再通過 glTexImage2D 上傳一條流水線全是同步操作UI 線程不卡才怪。2.3 多進程模型和用自己的子進程到底解決什么CEF 天生是多進程架構(gòu)主程序是 browser 進程頁面跑在 renderer 進程里合成和光柵化在 GPU 進程里。這里有個關(guān)鍵設(shè)計理念browser 進程和 renderer 進程不是同一個可執(zhí)行文件的兩個函數(shù)而是同一個二進制用不同命令行參數(shù)啟動后的不同角色。演示 zip 里通常只有一個 exe那么你在 main 函數(shù)一開始就要判斷命令行參數(shù)如果是--typerenderer就直接調(diào) CefExecuteProcess 把自己變成渲染進程然后退出 main否則才走正常的 UI 初始化。// main.cpp 入口分流 int main(int argc, char* argv[]) { CefMainArgs main_args(argc, argv); CefRefPtrCefApp app(new DemoApp()); // 關(guān)鍵子進程入口必須復(fù)用同一個 exe。 // 否則 CEF 會嘗試用 CefSettings.browser_subprocess_path 指定的路徑 // 找不到就起不來頁面。 int exit_code CefExecuteProcess(main_args, app.get(), nullptr); if (exit_code 0) { // 當前進程已經(jīng)作為 renderer/gpu 子進程運行完畢 return exit_code; } // 只有主進程會走到這里 return RunBrowserProcess(main_args, app); }這段代碼解決的是一個非?,F(xiàn)實的部署問題很多新手工程不寫 CefExecuteProcess 分支而是把 browser_subprocess_path 指向一個不存在或者不完整的 helper 文件結(jié)果就是瀏覽器進程能啟動但頁面一直白屏或者崩在不起眼的地方。用自己的子進程本質(zhì)上是讓 CEF 的多進程模型在一個文件里自洽這在交付演示 zip 時尤其重要——少一個依賴文件就少一個翻車現(xiàn)場。參數(shù)上要注意CefSettings.browser_subprocess_path在 Windows 上必須指向包含完整 CEF 運行時的可執(zhí)行文件Linux 下如果不設(shè)置會用 /proc/self/exe 兜底但顯式指定更穩(wěn)妥。2.4 為什么說高性能更多是策略問題幀延遲和 CPU 占用這兩個指標在 OSR 里高度依賴你選擇的輸出路徑。純 OnPaint 路徑適合分辨率不高、幀率不高的場景OnAcceleratedPaint 路徑把像素搬運交給 GPU 進程和你的顯卡驅(qū)動主線程只做紋理句柄的注冊和采樣。還有一個被忽略的點CEF 提供 SetWindowlessFrameRate 控制瀏覽器端的幀率上限如果你不設(shè)置它默認是 30某些版本會自適應(yīng)。你以為是瀏覽器慢其實是它被幀率上限卡住了這個參數(shù)我在下一章展開講。3. 把它跑起來最小 OSR 演示工程的關(guān)鍵代碼3.1 初始化設(shè)置讓 CEF 進入離屏模式這一節(jié)是可抄作業(yè)的核心。CefSettings 里有幾個字段直接決定 OSR 能不能生效。第一個是windowless_rendering_enabled必須設(shè)為 true否則后續(xù) SetAsWindowless 不會進入離屏模式。第二個是background_color如果你要的是透明背景就要設(shè)成帶 alpha 的黑色0x00000000但注意這只在 GPU 合成時保留 alpha軟件路徑下不一定生效。第三個是multi_threaded_message_loop建議保持 false讓 CEF 跑在專用線程里方便你自己控制消息泵。bool RunBrowserProcess(CefMainArgs main_args, CefRefPtrCefApp app) { CefSettings settings; settings.no_sandbox true; // 演示環(huán)境方便調(diào)試生產(chǎn)環(huán)境按需開啟 settings.windowless_rendering_enabled true; // 進入離屏渲染模式 settings.background_color 0xFF2B2B2B; // 不透明底色透明場景用 0x00000000 settings.log_severity LOGSEVERITY_WARNING; // 日志別太吵排錯時再調(diào) VERBOSE // 子進程路徑不設(shè)置則默認復(fù)用當前 exe前提是上面 main 里做了 CefExecuteProcess 分支 // settings.browser_subprocess_path demo_helper.exe; CefInitialize(main_args, settings, app.get(), nullptr); // 之后進入消息循環(huán) CefRunMessageLoop(); CefShutdown(); return true; }邏輯說明這一段的順序是有講究的。先設(shè) no_sandbox 再設(shè) windowless是避免某些平臺上沙箱和離屏模式互相干擾background_color 要按你的 UI 底色來很多黑屏問題就是這里用了純黑不透明值而頁面背景又是深灰色混在一起以為是渲染失敗。browser_subprocess_path我注釋掉了這是故意的——如果你的 exe 已經(jīng)做了 CefExecuteProcess 分流就不需要額外 helper 文件如果沒有你才需要指定一個能完整加載 CEF 的 helper 程序。參數(shù)調(diào)整時最容易踩的坑是改了 windowless_rendering_enabled 但沒重啟進程CEF 有些設(shè)置在運行時是不可變的。3.2 實現(xiàn) CefRenderHandler 的四個回調(diào)OSR 的本質(zhì)就是你實現(xiàn)一個 CefRenderHandler把它綁定到瀏覽器窗口上。四個回調(diào)缺一不可GetViewRect 告訴 CEF 你的渲染區(qū)域多大OnPaint 接收軟件像素OnAcceleratedPaint 接收 GPU 紋理再就是鼠標事件轉(zhuǎn)發(fā)。前兩個回調(diào)不實現(xiàn)瀏覽器直接不畫。class DemoOSRHandler : public CefRenderHandler { public: // 告訴瀏覽器離屏畫布的尺寸邏輯像素不是物理像素 void GetViewRect(CefRefPtrCefBrowser browser, CefRect rect) override { rect CefRect(0, 0, view_width_, view_height_); } // 軟件渲染路徑拿到像素矩形列表和編碼后的 RGBA 數(shù)據(jù) void OnPaint(CefRefPtrCefBrowser browser, PaintElementType type, const RectList dirtyRects, const void* buffer, int width, int height) override { if (type ! PET_VIEW) return; // 只關(guān)心主畫面不關(guān)心彈窗氣泡等覆蓋層 // 把 buffer 拷貝到你的共享內(nèi)存/紋理上傳隊列 UploadPixelsToEngine(buffer, dirtyRects, width, height); } // GPU 路徑拿到共享紋理句柄交給渲染線程注冊 GPU 資源 bool OnAcceleratedPaint(CefRefPtrCefBrowser browser, PaintElementType type, const RectList dirtyRects, const CefAcceleratedPaintInfo info) override { if (type ! PET_VIEW) return false; // info.shared_texture_handle 或 info.fd具體取法按平臺走 AttachSharedTexture(info); return true; } private: int view_width_ 1280; int view_height_ 720; };參數(shù)說明dirtyRects 表示這次哪些區(qū)域發(fā)生了變化。如果你只需要局部刷新可以按這個矩形列表去更新渲染引擎里的對應(yīng)區(qū)域這就是高性能省帶寬的基礎(chǔ)。width 和 height 是緩沖區(qū)的實際尺寸它一定大于等于上次 GetViewRect 給的值因為高 DPI 屏幕上會有縮放緩沖區(qū)可能是邏輯尺寸的 2 倍你要按 width/height 來算像素偏移。OnAcceleratedPaint 里的 CefAcceleratedPaintInfo 在不同平臺字段不同Windows 是 shared_texture_handleLinux 是 fd 加上尺寸信息我一般會封裝一層平臺適配把這兩種情況統(tǒng)一成自己的 TextureHandle 結(jié)構(gòu)。鼠標和鍵盤事件也要轉(zhuǎn)發(fā)到 CefBrowserHost否則頁面完全無法交互void SendMouseEvent(CefRefPtrCefBrowser browser, int x, int y, MouseButtonType btn, bool mouseUp, int modifiers) { CefMouseEvent ev; ev.x x; // 邏輯坐標和 GetViewRect 坐標系一致 ev.y y; ev.modifiers modifiers; if (btn MBT_LEFT) { browser-GetHost()-SendMouseClickEvent(ev, btn, false, mouseUp); } // 滾輪事件用 SendMouseWheelEvent }邏輯說明事件坐標必須和 GetViewRect 的定義一致否則會出現(xiàn)「鼠標點不到按鈕」的靈異問題。這個坐標是邏輯像素如果你的宿主窗口在 Windows 上開啟了 DPI 縮放系統(tǒng)給你的是物理像素要先除以縮放系數(shù)再傳進來。modifiers 要自己拼常見錯誤是只傳左鍵不傳 Shift/Ctrl導(dǎo)致頁面的多選、新標簽頁中打開這類交互失效。3.3 像素到渲染引擎的兩種落地方式CPU 位圖 vs GPU 共享紋理拿到像素之后怎么送進自己的渲染引擎是決定性能的分水嶺。第一種方式適合小窗口或低幀率在 OnPaint 里直接 memcpy 到一個固定緩沖區(qū)然后在渲染線程里 glTexSubImage2D 上傳。第二種方式適合 1080p 以上、幀率要 60 的場景走 OnAcceleratedPaint 拿到共享紋理句柄通過 glImportShareHandleEXT 或 D3D11 OpenSharedResource 把紋理引入自己的圖形 API 上下文整個過程零 CPU 拷貝。路徑輸出形式CPU 開銷延遲適用場景OnPaint glTexUploadRGBA 位圖高每幀拷貝高小面板、設(shè)置頁、低交互OnAcceleratedPaint 共享紋理GPU 紋理句柄極低低視頻播放、動畫、全屏 Web 內(nèi)容我見過一個視頻渲染工具最初用 OnPaint 路線跑 4K 60fps 的 Web 頁面CPU 占用直接拉滿到 80%后來切換成 OnAcceleratedPaint降到 15%畫面還更流暢。切紋理的代價是平臺代碼陡增Windows 上要處理 D3D11 共享資源的多線程安全Linux 上要處理 dmabuf 的跨設(shè)備問題。演示項目如果只是想先通起來建議先跑通 OnPaint 路徑確認業(yè)務(wù)流程沒問題再在低耦合的位置換紋理路徑。4. 性能參數(shù)與調(diào)優(yōu)把能用變成流暢4.1 幀率控制與臟矩形別讓 OnPaint 拖垮你的 UI 線程很多人不知道 CEF 離屏模式有一個獨立的幀率控制參樹在 CefBrowserHost 上通過 SetWindowlessFrameRate(int) 設(shè)置默認值各版本略有差異一般不超過 30。這意味著即使頁面里有 CSS 動畫你拿到的回調(diào)頻率也受這個限制。想要 60fps就要在創(chuàng)建瀏覽器后盡快調(diào)用GetHost()-SetWindowlessFrameRate(60)。但幀率不是越高越好如果頁面是純靜態(tài)的60fps 的調(diào)度本身就會持續(xù)喚醒渲染進程白白消耗 CPU。我一般會在收到網(wǎng)絡(luò)請求完成、動畫結(jié)束之類的事件后把幀率切回 30 或 15交互時再切到 60。臟矩形是另一個關(guān)鍵的壓縮手段。OnPaint 回調(diào)里的 dirtyRects 已經(jīng)告訴你了哪些區(qū)域需要更新但實際工程里很多人不看它拿到整幀就上傳完全浪費了 Chromium 好不容易算出來的局部性。正確的做法是把 dirtyRects 轉(zhuǎn)成 UV 坐標上傳時用 glTexSubImage2D 只更新那幾塊區(qū)域。配合場景靜態(tài)檢測能省掉大量無意義的帶寬和上傳指令。注意臟矩形在 GPU 路徑下也存在但取紋理句柄后你沒法只摳局部——你拿到的是一整個紋理局部更新發(fā)生在紋理內(nèi)部所以 GPU 路徑下臟矩形更多用來做 UI 線程和渲染線程之間的同步信號而不是真的去裁剪紋理。4.2 幀數(shù)據(jù)通路設(shè)計單緩沖、雙緩沖還是環(huán)形隊列這里要區(qū)分 CPU 路徑和 GPU 路徑。CPU 路徑下OnPaint 是在 CEF 的 IO 線程或 UI 線程回調(diào)的如果你在里面直接操作渲染引擎的資源等于跨線程訪問圖形上下文輕則卡頓重則崩潰。常見做法是準備兩到三個緩沖區(qū)做乒乓切換OnPaint 往空閑緩沖寫入渲染線程讀取上一次完成的那塊并上傳不共享同一塊內(nèi)存。class FrameBufferPool { public: FrameBufferPool(int w, int h, int count 3) { for (int i 0; i count; i) { buf_.push_back(std::shared_ptruint8_t( new uint8_t[w * h * 4], [](uint8_t* p) { delete[] p; })); } } std::shared_ptruint8_t AcquireWrite() { std::lock_guardstd::mutex lock(mtx_); auto it std::find_if(buf_.begin(), buf_.end(), [](auto p) { return p.use_count() 1; }); return *it; } private: std::vectorstd::shared_ptruint8_t buf_; std::mutex mtx_; };邏輯說明AcquireWrite 通過 shared_ptr 的 use_count 判斷哪個緩沖區(qū)當前沒人引用這樣 OnPaint 和渲染線程之間不需要額外的同步鎖誰引用計數(shù)歸到 1 誰就是空閑的。緩沖區(qū)數(shù)量一般 3 個夠用2 個會經(jīng)?;ハ嗟却? 個以上白白吃內(nèi)存。參數(shù)調(diào)整的規(guī)律是分辨率越高緩沖區(qū)越吃內(nèi)存幀率越高需要的緩沖數(shù)越少——因為生產(chǎn)者消費者周期變短。GPU 路徑不需要這套池子但要做紋理生命周期管理從 OnAcceleratedPaint 拿到的共享紋理句柄必須在當前幀引用的反射里顯式釋放否則紋理泄漏在 Windows 上特別明顯跑一個小時顯存漲上百 MB。4.3 實測方法與判斷指標幀延遲、CPU 占用、字體閃爍性能優(yōu)化永遠要有數(shù)據(jù)支撐。我的驗證手段分三層第一層看綜合指標用 PresentMon 抓 CPU/GPU 幀耗時用 CE 自帶的--enable-logging --v1看瀏覽器端的丟幀日志第二層看端到端延遲在頁面里放一個 requestAnimationFrame 的時間戳在引擎?zhèn)葘Ρ燃y理采樣時刻就能算出完整的端到端延遲這個值是最能體現(xiàn) OSR 體驗的第三層是肉眼檢查異?,F(xiàn)象比如字體閃爍、滾動時文字撕裂、視頻畫面偶發(fā)黑幀。幀率上限設(shè)置得是否合理直接觀察 CPU 占用和幀耗時是否呈明顯臺階關(guān)系。如果你發(fā)現(xiàn)幀率上限 60 和 30 時 CPU 占用幾乎一樣那說明瓶頸不在瀏覽器端而在你的渲染引擎上傳路徑上如果 30 幀時 CPU 只有 10%60 幀時瞬間 50%那瓶頸在 Chromium 的合成和拷貝這時候才值得去調(diào)窗口大小、換紋理路徑或降低分辨率。字體閃爍是另一個高頻怪現(xiàn)象通常是因為臟矩形沒合并、局部更新和滾動不同步造成的處理辦法是每次滾動開始時暫時切到全量刷新滾動停止后再回到局部更新。5. 避坑OSR 項目里翻車最多的 5 個地方5.1 窗口尺寸為 0 導(dǎo)致的永遠白屏現(xiàn)象程序啟動后窗口位置是出來了但頁面始終白屏沒有任何繪制回調(diào)日志也沒有明顯錯誤。 原因GetViewRect 在初始化時返回了 (0, 0) 尺寸或者 host 創(chuàng)建時窗口參數(shù)里給的寬高為 0。CEF 在尺寸為 0 時不會觸發(fā)首幀繪制。 解決在創(chuàng)建瀏覽器之前確定初始尺寸GetViewRect 里不能依賴尚未完成的異步布局。我一般會在初始化參數(shù)里寫死默認寬度和高度等宿主窗口真正 resize 時再調(diào)browser-GetHost()-NotifyMoveOrResizeStarted()以及更新 handler 里的 view_width_ 和 view_height_而不是在 GetViewRect 里動態(tài)去查。5.2 鼠標點擊位置和頁面元素對不上現(xiàn)象點擊按鈕時總偏斜尤其是高 DPI 屏幕下點不中按鈕或者點擊位置往右下角偏。 原因宿主系統(tǒng)的鼠標事件是物理像素坐標而 CEF 的 OSR 坐標是 DIP設(shè)備無關(guān)像素Windows 上默認縮放 125% 或 150% 時兩者差了一個 ScaleFactor。 解決在 SendMouseEvent 前做一次坐標轉(zhuǎn)換dip_x physical_x / dpi_scaledpi_scale 用 GetDpiForWindow 或 QScreen 的 devicePixelRatio 獲取。不要在 GetViewRect 里把 rect 的寬高除以縮放那樣會破壞 CEF 內(nèi)部的緩沖尺寸計算只在事件入口做轉(zhuǎn)換像素緩沖的尺寸由 CE 自己按 DPI 調(diào)整。5.3 視頻播放黑屏或綠屏現(xiàn)象頁面里的video標簽有聲音但畫面是黑屏或者 GPU 路徑下偶爾出現(xiàn)綠屏條帶。 原因CEF 的 GPU 進程默認采用硬件視頻解碼解碼后的數(shù)據(jù)在合成時要走共享紋理如果你的 OSR 是軟件路徑OnPaint合成器無法把硬件解碼幀導(dǎo)入位圖回調(diào)反過來GPU 路徑下共享紋理格式不匹配或者句柄泄漏會導(dǎo)致綠屏。 解決演示和低性能場景直接關(guān)閉硬件加速settings.no_sandbox true并在命令行加--disable-gpu性能要求高的場景走 OnAcceleratedPaint 并保證共享紋理的句柄在你的圖形上下文里做了正確的 OpenSharedResource 操作同時每幀 refs 用完釋放。5.4 中文輸入法不彈候選詞或候選框位置錯亂現(xiàn)象OSR 下輸入中文時輸入法候選框要么不出現(xiàn)要么出現(xiàn)在屏幕左下角而不是光標附近。 原因CEF 的 OSR 不創(chuàng)建原生窗口所以 IMM/TSF 和瀏覽器之間的消息通道斷裂候選框位置需要宿主自己通過 CefRenderHandler 的 GetScreenPoint 回調(diào)把編輯框坐標轉(zhuǎn)成屏幕坐標喂給系統(tǒng)。 解決先確認 CefRenderHandler 里實現(xiàn)了 GetScreenPoint把傳入的 view 坐標加上瀏覽器窗口在屏幕上的位置偏移返回正確的屏幕坐標然后需要把焦點管理做好每次點擊 OSR 區(qū)域時調(diào)host-SetFocus(true)并用SendFocusEvent(true)通知頁面。這在 Windows 上很費時間我的建議是先用英文交互驗證業(yè)務(wù)邏輯等核心鏈路跑通再補 IME避免兩頭都卡住。5.5 子進程路徑不匹配導(dǎo)致的進程反復(fù)崩潰現(xiàn)象頁面加載到 30% 就崩主進程日志反復(fù)出現(xiàn) renderer process gone甚至主程序一啟動就異常退出。 原因main 函數(shù)里沒做 CefExecuteProcess 分流同時把 CefSettings.browser_subprocess_path 指向了一個不存在或者不是同一套 CEF 庫的 exe。CEF 的瀏覽器進程和渲染進程要通過同一個 IPC 通道通信二進制不匹配或入口不對就沒法建立通道。 解決優(yōu)先采用「自己的子進程」方案即在 main 開頭統(tǒng)一調(diào)用 CefExecuteProcess讓同一個 exe 同時承擔主進程和子進程兩種角色。這樣交付物只有一個文件路徑問題天然消失。確認分流代碼沒有跑錯分支——主進程調(diào)用 CefExecuteProcess 返回 -1 是正常的0 表示子進程邏輯已執(zhí)行完畢要繼續(xù)往下走的只有 -1 這一條路。6. 進階從演示到產(chǎn)品的最后幾公里演示 zip 跑通之后真正上生產(chǎn)前還有三件事值得認真處理。透明度是第一個坎。OSR 默認背景是不透明灰色你要在 settings.background_color 里設(shè)置帶 alpha 的值同時頁面的根元素也要是透明背景兩層有一層不干凈就會前功盡棄。驗證透明是否真的生效不要用截圖工具直接在你的引擎里去采樣紋理的 alpha 通道截圖工具會把窗口背景合成進去造成假性成功。鍵盤焦點和 IME 的完整鏈路是第二個坎。窗口模式瀏覽器遇到 Tab 鍵焦點循環(huán)會自己處理OSR 下 Tab 鍵要轉(zhuǎn)發(fā)給 CE 的 SendKeyEvent焦點切換信號要反饋給宿主窗口系統(tǒng)。IME 部分建議在 Windows 平臺優(yōu)先實現(xiàn) TSF 相關(guān)的 CefRenderHandler 回調(diào)這條路上沒有捷徑但可以先用--enable-featuresTSF開啟 CE 對 TSF 的支持減少一部分自研工作量。多窗口 OSR 是第三個坎。CEF 一個 browser 實例對應(yīng)一個獨立頁面多窗口場景要共用同一個 CefApp 和 CefRequestContext避免每個窗口單獨初始化 Chromium內(nèi)存會爆炸。正確的做法是先初始化一次全局環(huán)境然后按窗口創(chuàng)建多個 CefBrowserFrameRate 和緩沖區(qū)管理要獨立避免相互搶占線程。最后說一個我踩了一年才改過來的習慣把 OnPaint 和 OnAcceleratedPaint 路徑做成可切換的編譯開關(guān)而不是長期只保留一條。因為不同客戶機器的顯卡驅(qū)動兼容性差異很大有的機器 OnAcceleratedPaint 能拿到紋理有的就會崩成黑匣子保留 CPU 路徑作為兜底是 OSR 產(chǎn)品上線冷靜期的后悔藥。我自己做最后一個 OSR 項目時初期沒留這條后路結(jié)果在批量部署時遇到一批集顯驅(qū)動的兼容問題硬生生加了兩周排期。希望你不用走這條彎路——先抄上面的最小工程把切換開關(guān)留好再慢慢調(diào)幀率、換紋理穩(wěn)著來。希望幫到你。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
欧美影音在线| 五月丁香啪啪啪| 国产玖玖| 91欧美大片| 五月婷婷丁香六月| 伊人网在线点播| 99在线无码精品秘 入口黑人| 日韩人妻大香蕉| 色亚州人久干视频在线观看免费版| 久久只有精品| 日本有码影片下载| 97久久国产精品女不卡| 97久久超碰| 欧美在线|亚洲| 亚洲高清无码AAA久久久精品| 日韩一级二级三级免费看完整版国语版 | 福利一级版子| 一区二区免费电影久久| 高清成年美女黄网站免费大全| 黄色成年| 在线无码操| 在线视频一区二区传媒| 无码精品久久久久久亚洲| 成人婷婷丁香| yiqicaoav| 日本三级日本三级三级人妇四虎| 欧美综合另类| 亚洲天堂人人妻| 亚洲精品白浆高清久久久久久| 大香蕉综合| 日本人妻丰满熟妇久久久久久| 伊人影院在线理论播放 | 无码九九九九| aaa一级黄片| 精品日日人妻| 五月婷婷hd| 欧美午夜视频免费观看| 激情情色五月天| 立川理惠无码一区二区| 亚州性色| yazhousetuoumei| 欧美性爱免费短视频| 欧美综合在线91| 黑人操一区二区| av橘色网站| 超91综合网| 国产极品粉嫩馒头一线天av| silk lablo在线观看一区二区| www.91理论| 国产午夜福利合集| 久久精品国产99国产精品亚洲| 日本成人A片免费看| 呦女网站| 亚洲性爱高潮影院| 亚洲αv一区二区三区| 欧洲综合色| 亚洲熟女乱色| 黄片www.| 午夜无遮挡男女啪啪视频| 黄色片G G G| 在线99热| 操婢日韩| 人妻熟女一区二区三区视频| 歐美性天天| 欧美v亚洲v日韩v最新在线二区| 超碰色97| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 亚洲 图片 综合91| 在线强奷到舒服的无码视频 | 大香蕉中文在线| AV丝袜少妇| 91精品伊人久久久大香线蕉91| 久 久无码人妻AV| 夜夜爽爽夜夜精品视频| 91久久国产综合久久| 国产综合网站在线播放| 黄色视频高清无码网站| 亚洲欧美天| 黄色高清久久无码依人| 丁香六月综合激情| 美中日韩无码| 日韩熟女操逼| 久久区| 欧美激色| 日夜久久久九九九久| 色999亚洲人成色| 17c在线成人免费A片观看| 日本色日夜干| 激情欧美97| 美女丝袜激情小说| 一二三四视频在线社区中文字幕| 久久久久久久少妇| 好吊妞转入那个网| 亚洲高清在线| 色香蕉影院| 日本激情免费大片| 在线无码视频| 国产v片在线免费观看| 综合久久9| 国产久久久久久| 97久久精品不卡| 亚州久久9| 蜜桃中文字日产乱幕4区| 99精品免费| 亚欧高清在线| 97精品国产97久久久久久免费| 女人双腿搬开让男人桶| 午夜免费福利视频一区| 99久久com免费视频′| 玖玖玖玖精品国产剧情| 热九九精品| 日本在线视频导航| 国产精品一区二区 尿失禁| 韩国手机不卡无码三级视频| 中字幕人妻一区二区三区| 97这里只有精品| 人人妻人人澡人人爽久久av| 综合网91| 囯产精品久久久久久久久久梁医生 | 欧美白嫩女HD| 国产麻豆一区二三区| 国产精品色哟哟| 91殴美大片| 激情文学欧美| 亚洲欧美一区二区不卡视频播放| 欧色性第一页| 九久精品| 国产又色又粗又黄又爽| 日韩人妻 中文字幕| 久精品无码av一区二免费国产在线观看 | 九九久久久| 夜夜躁狠狠躁日日躁av| 国内偷拍精品一区二区| 在线观看高清AV| 午夜爽爽爽在线观看永久入口姬片| 岛国激情视频软件| 日韩欧美亚洲一区二区三区影院 | 亚洲欧美另类激情小说| 亚洲一区二区中文字幕| 五月婷婷色| 久久欧美按摩999| 在线 亚洲 网爆 自拍| 亚洲一区二区 麻豆传媒| 啊嗯嗯啊好大好爽| 超碰在线一区二区三区| 无码精品一区二区三区潘金莲| 天天视频综合在线观看视频| 99国内精品| 欧美白嫩女HD| 人人操人人肉久久精品| 亚洲AV操| 丰满人妻一区二区三区在线| 五月天亚洲网| 色欧洲| 国产91乱伦| 久久久久9999| 99xav| 色欧美在线| 日韩免费福利在线观看| 午夜久久一区二区无码中出| 亚洲天堂久| 91成人无码| 天天躁日日躁成人字幕aⅴ| 欧美网站免费| 久久人人爽爽爽人久久久| 东北操逼| 乱伦一二三区| 92福利社视频| 色九九久九九| 国产成人手机视频激情| 中文高清一区二区的| 青青草乱入乱欲视频在线观看| 久久9精品网站| 亚洲精品人体| 伊人久久婷婷| 91久久精品美女高潮喷水| 日本人妻中文字幕| 丝袜熟女2P| 欧美激情一| 黑人精品XXX一区一二区| 色香蕉影院| 国产青青美女玩逼视频| 亚洲AV成人精品网站在AV| 日本肏逼视频在线观看| 日韩人妻精品| 成人性爱视频在线看| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 夜夜夜久久| 限制级中的三级片中的黑粗大屌屌日人妻熟女 | 蜜桃在线观看一区二区三区| 深夜视频| 欧亚在线视频| 久久禁| 操操操日本的逼| 二区熟妇韩日| 国产在线观看一区二区三区| 欧美专区在线| 淫荡网址| 91女网站| 欧美一区二区三区互相| 91国产大片| 日本爽爽爽爽爽爽免费视频| 精品97久久综合| 日本成人免费一区二区三区| 天堂资源欧美| 黄色人人| 91精品国久久久久久无码| 青娱乐休闲视频在线观看| 亚洲丝袜二区| 亚洲欧美色图小说| 天天摸夜夜操视频| 美国aaaaa一级黄片| 天天操人人操骚逼网站| 性爱免费视频成人| 日韩 女同 综合| 黄在线| 久艹99| 熟女人妻一区二区三区| 麻豆色约约| 99热66| 欧美在线天堂| 人妻黑丝袜电影| 欧美经典一区二区三区| 精品无码产区一区二| 人妻人人做人人澡人人爽欧美一区| 乱码人妻一区二区三区| 韩国一级做A片免费的| 丰满少妇精品一区二区| 九九内射在线| 欧美日韩黄片精品在线 | 亚洲色五月| 欧美色图91| 欧美激情总合网| 家庭乱伦国产精品| 啊啊啊啊啊啊啊在线| 中文激情网| 欧美天天综合| 青青草久草AV| 东北女人被操| 国产情侣自拍在线播放| 亚洲色阁| AV中文字幕剧情1区2区3| 大伊香蕉在线视频免费| 亚洲图片另类| 亚洲天堂电影网| 乱人伦 国语对白:视频直接看| 久久精品人妻一区| 国产自产22区| 国产天美欧美| 天天日天天插| 欧美黑人精品在线播放| 亚洲动态色图| 中文欧丝袜诱惑| 97在线免费看| 亚洲Av无码成人精品国产| 国产精品久久久 | 熟女高潮合集-永久久久-成人AV | 啊好大好舒服| 久久久久13| 熟女五十路一区二区三| 91色花堂| 久久妇| 亚91亚洲网| 九九热AV| 欧美日韩精品一区二区三区高清| 国产在线视频午夜精华在| 九草九九九| 一区中文字幕二区日韩| 国产视频一区二区在线| 99久久网站| 欧美黄色片在线播放| 亚洲国产97在线精品一区| 午夜福利区| 日本三级久| 五月天色图| 亚洲欧美在线观看无码| 青娱乐休闲视频在线观看| ...日韩成人一区二区三区字幕| 91原创在线观看| 搡老熟女老女人老熟妇免费视频| 亚洲图片激情综合另类| a亚洲欧美色欲| 91岛国动作片| 91久久婷婷| 狠狠躁日日躁夜夜躁A| juliaann精品熟女一区| 亚洲国产精品乱码在线观看| 丁香五月天激情| 人人看欧美性爱| 亚洲一区中文精品| 无码操逼视频一下| 北约熟女超碰| 日韩免费大片一级播放| 干干干天天| 五月丁香黄色网| 天天综合-91入口| 校园春色 亚洲| 中文字幕无码不卡啪啪| 精品一区二区久久| 亚洲欧美啪啪| 欧美图片校园春色| 少妇贴图| 欧美不卡五十路| 久久精品人妻一区| 中文字幕,人妻,日韩| 国产AAAAAABBBBB| 丁香婷婷五月| 超清福利精品视频在线| 久久成人午夜精品影院| 久久久久久国产无码精品| 温婉少妇玩3p| 99久在线精品99re8热| 欧美一级色| 久久九九99| 中亚精品极乱| 东京成人一区| 久久一二三四五六七八九区| 欧美人妻制服| www.亚洲黄色| 日本3级一区二区免费| 久久五月综合| 日韩精品三级片长长久久| 欧美色图人妻| 亚洲国产精品无石码久久| 在线亚洲欧美| 日韩综合成人免费视频| 日亚韩精品视频二区三| 国产欧美日韩女同性恋ww喷水精品 | 操高情无码| 国产 三级自拍| 人妻啊啊人妻啊| 久久啊哟| 日本 情色 1区2区3区| 黄页网站成人免费| 思思热一热婷婷热一热| 五月激情在线| 色亚州人久干视频在线观看免费版| 欧美日韩人妻少妇 一区二区三区| 欧日韩一二三f区| 91另类| 18禁中文字幕| 丁香激情五月天| 欧美色图偷拍另类| 玖玖资源视频一区二区三区| 成人av毛片在线观看| 国产亚洲精品美女久久久m| 日本3级一区二区免费| 亚洲有码 视频一区| 日本一天色道久久久精品视频| 精品久久久久成人码免| 秋霞网无码| 亚洲成熟国产精品美女| 男人的天堂在线2| 91视频女生| 一区二区三区免费视频入口| 中文字幕 国产 精品| 人人手机欧洲亚洲国产人妻| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 久操网视频| 久久久人妻| 操淫穴亚洲五月丁香 | 日韩av乱伦| 伊人丝袜美腿高跟在线观看高清| 91n处女在线观看| 人人操人人操人人人操| 蜜桃成人1区2区3区| 国产久久男人天堂| 成 人 A V免费视频在线观看| 亚洲欧洲综合视频在线| 国产亚洲日本| 日本精品中文字幕视频| 超碰免费在线| 夜夜骑日日| 无码人妻精品一区二区中文| 欧美综合97www| 国产黑白丝在线| 日韩亚洲精品一区二区| 观看免费区二区三区二| 男人的天堂 在线一区| 大香蕉啪啪网| 日本熟妇自慰性高潮一区二区三区| 亚洲成人黄色在线观看| 91亚州日韩高清| 91高清欧美| 成人国产精品三级A片| 91少妇香蕉久久精品| 亚洲精品国语在线播放| 国产suv精品一区二区四区999| 可乐操亚洲蜜911| 免费啪啪一级视频| 久久6热精品99视频| 翔田千里无码中出中文字幕| 久久国产视频专区一二三| 欧美亚洲特P| 91站街按摩店老熟女熟女| 天天操天天看| 婷婷五月天av| 亚洲色婷婷综合久久久久中文| 福利在线黄片| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 人人爱夜夜爱| 综合情欲网| 久草视频分类在线| 久热99| 69人妻人人揉人人躁人人精品| 久久a久久| 久久一二三四不卡| 欲色啪| 久久精品一区二区三区蜜桃臀| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 麻豆伊人网| 欧美一品道| 九九九国产| 黄片www视频免费| 日韩成人私密一级精品av| 午夜a成v人电影| 中文字幕丝袜国产第一页不卡| 8050午夜少妇无码| 992这里有精品| 欧美 青青草| 久久夜精品一区二区三区| 亚州国产成人精品女人久久 | 日本色婷婷| 好吊色在线观看| 国产精品suv一区| 热久久无毒不卡| 大香蕉伊人75| 岛国激情视频软件| 久久超碰久| 日韩无码AB| 欧美se综合| 成人影院永久免费观看网址| 色五月激情综合网| 一区二区 电影 亚洲| 男人天堂毛片| A 在线网址| 色综合色综合网| 国产传媒美日韩av| 欧美乱欲| 国产一区二区三区影片| 亚洲天堂另类小说男人| 欧美另类丝袜熟女| 精品一区二区综合熟妇| 泰国AV在线观看| 欧美综合色综合| 夜草网站| 日本超碰在线国产一区| Aa东京男人的天堂| 欧美不卡在线一区二区| 性吧在线视频| 国产尤物在线三区| 特级毛片特黄久久免费看| 国产欧美伊人| 91美女精品| 精品一区二区成人| 青青草视频导航官网| 久操免费观看| 99碰碰| 人妻无码视频一区二区三区久久| 9国产超碰| 夜夜嗨AV一区天天| 国内一级精品| 综合色播| 青青草AV色| 欧美视频一区二区在线| 欧美999999| 欧美gv在线观看| 偷拍 亚洲| 欧美乱欲| 欧美大香蕉卡久久| 99久久国产精品免费高潮| 青青草日韩无码| 欧亚 另类 久| 色色亚洲| 蜜臀久久99精品久久久久久无删减| 亚洲午夜av| 亚洲精品九九九九九九| 亚洲av无码成人精品国产| 夜夜嗨免费视频| 天天日B夜夜干B时时操B| jiujiujiujingpin| 在线中文字幕极品av| 97超碰超欧美。| 久久久久成人亚洲国产| 人妖欧美一区二区| 五月激情综合网| 亚洲性高潮| 免费看毛片操穴| 黄片www视频免费| 午夜久久一区二区无码中出| 麻豆国产视频精品观看| 亚洲精品黑丝| www久| 综合夜夜| 情色五月天网| 十八禁视频网站| 色欲久久99国产精品久久久久久| 色综合美国| 在线毛片片免费观看| 1204金沙人妻懂旧版免费| av无码av无码专区| 91成人精品| 熟妇高潮一区二区免费视频| 日韩精品一区二区日韩| 九九这里只有精品| 日本熟妇熟色97一本在线观看| 久久丁香久草综合网| 中文字幕人乱码中文字的预防方法| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 一本久道久久综合狠狠爱| 国产自制av蜜乳| 91nbbbbbb| 亚洲熟妇自偷自拍另欧美| 妇女性内射冈站HDWWWCOM| 久久99精品九九久久久婷婷| 九九热精品| 五月天我淫我色av| 婷婷久久久精品| 欧美在线色图| 免费一级毛片在线视频观看| 超碰午夜| 国产久久天堂资源| 久久久久密臀视频| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 五十路三级片| 亚洲成人精品在线一区| 91天美免费| 久噜噜| 日韩人妻资源网| 艹比视频国产精品| 精品国产91av一区二区三区| 国产熟女一区二区| 色眯眯av| 高跟伊人julia ann| 女优视频第10页| 婷婷五月天激情网| 91精品久久久| 91性高朝久久久久久久久| 日韩内| 美女让帅哥通她小鸡鸡| 99re8超碰| 在线黄页看毛片| 男男H黄动漫啪啪无遮挡网站| 国产无码三级视频在线观看| 色欧洲| 欧洲亚洲人妻无码高清久久三区四区| 色眯眯av| 久热久操| 天天操人人操骚逼网站| 91天美传媒精品| 天天色悠悠激情| 一区二区激情国产熟女| 操人无码| 99国产人成精品| 操逼日韩无码| 国产日韩欧美三级片| 无码精品蜜桃一区二区三区ww| 婷婷干黄色| www熟女乱伦com| 夜色综合| 日本一区不卡| 男女啪啪网站免费视频| 高清有码一区二区| 中国AAAAAA黄色片| 日韩在线欧美精品一区二区| 国产成人亚洲精品无码最新在线| 国产91福利小视频在线观看| 国产精品精品系列在线观看| 一区在线精品中文字幕| 91精品人妻偷情| 色欲三区| 成人aⅴ一区二区三区| 午夜一区二区三区国产| 精品国产人成在线| 九九探花视频在线观看| 免费一级毛片在线视频观看| 91人妻Pr| 综合久久中文字幕综合日韩精品| 婷婷综合激情| 天天欧美色| 国产suv精品一区二区四| 97中文天堂| 久久av色| 国产丰满熟夫69mpp| 九九热视频这里只有精品| 91成人社区| 欧美亚洲成人在线一区二区三区| 国产中午字一暮区| 欧美的精品的视频| 毛片99-全集电影手机免费观看完整-B029AV | 亚洲AV色图一区| 麻豆精品.欧美精品.日韩精品.| 97在线视频免费看| 九九综合九九综合| 岛国片国产成人亚洲播放| 人人干人人搞人人摸| 欧美激情综合| 亚洲精品天天影视综合网| 97视频www| 久热这里| 欧美性天天| 国产精品人妻熟女aⅴ| 亚洲古典另类欧美在线| 亚洲不卡AV在线| 久久水蜜臀亚洲AV无码精品| 成人草草视频| 伊人国产成人av网站| 一道α片欧美| 欧美一级色| 日本裸体久久色噜噜| AV男人天堂网| 欧美亚洲91| 日韩欧美字幕亚洲一区二区| 天天色综合图片| 污污污8888| 99999国产精品| 一级毛片久久久久久久女人18| 亚洲欧洲综合视频在线| 欧美78| 久久久精品| 成人国产精品三级A片| 爽爽爽免费视频| 偷拍视频青青草在线视频| 丁香六月激情| 亚洲欧洲美腿丝袜| 97超级久久| 亚洲一区二区三区中文字幕| 色综合尤物| 欧美亚洲国产自久久| 亚洲AV永久无码精品成人调教| 国产一区二区三区白丝| 少妇一线天久久久久久| 久9爱精品| 亚洲免费在线探花| 久久久久成人蜜桃精品| 久操免费视频| 艹少妇网站| 综合网久久| 夜夜躁狠狠躁日日躁av| www.婷婷| 成年在线视频日本亚洲在线视频区精品江靖宇公司 | 日韩人妻精品| 国产精品亚洲天堂网址| 亚洲码和欧洲精品激情系列| 欧美九九九九九| 综合色播| 成人性交免费视屏| 69人妻精品一区二区绯色| 日韩97超碰| 色狠狠色| 麻豆一区二区AV天美| 亚洲AV无码乱码在线观看性色| 夜夜夜久久| 亚洲风情在线观看| 99超级碰免费视频| 91精品国产91久久久久久久久久久久| 91在线精品| 色香综合天天影视综合 | 人人操人人操人人操人人操人人操人人人11.CM | 嗯嗯啊啊视频一区二区三区| 岛国免费视频在线| 97久久超碰国产网站| 秋霞一级鲁丝片A片| 精品久久久久黄少妇| 少妇久久久| 97干在线看| 91被操| 黄网站黄视频网站进入口| 男女猛烈无遮掩视频免费软件| 伊人国产av| 国产精品一区二区亚洲人成毛片 | 青青免费在线视频一区| 色噜噜人妻丝袜AV资源| 自拍视频一区在线观看| 青青草玖玖爱| 去干网最新版| 亚洲精品97久久| 中文字幕国产精品1区| 美女被啪到深处抽搐视频| 91肏屄网| 欧美五十路熟| 亚洲啪啪啪啪视香蕉| 天天色播亚洲综合网站| 人妻91少妇| 蜜臀久久99精品久久久久免费观| 综合国产影视三级| 久久久久久免费电影| www99热| 韩日色费| 尤物视频偷拍免费| 精品少妇一区二区三区免费观看| 天天看夜夜看日日干| 久久久111| 亚洲经典啪啪| 亚洲男人天堂网站| 久久久久久性爱片| 无码操逼网| 无码78| 麻豆一区二区三区精品| 国产91精品福利在线| 超碰导航97| 久久中日麻豆| 九九碰九九爱97| 人妻二区| 这里只有精品97| 一区二区视频你懂的| 粉嫩av在线一区二区| 国产后入清纯| 91色艳| www.91逼逼.com| 色偷偷人人玩人人舔人人操人人摸人人爽 | 夜夜高潮夜夜爽| 国产网红精品| 97视频在线免费观看| 日本熟妇色熟妇在线视频播放| 久久五月综合| 人人操人人插人人摸人人干| 久久人妻熟女一区二区| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 啊啊啊com| 热99这里只有精品| 亚洲 无码 偷拍| 青青草依人大香蕉| 欧美变态激情网| www鬼畜国产男人的天堂| 九九综合久久| 天天弄天天操| 久久少妇| 国产日韩美女小穴视频网站不卡| 天天α片| 色噜噜国产在线| 亚洲欧洲另类| www久久99| 脫衣舞一区二区三区| 性天堂| 美欧色综合| 久久精品女同亚洲女同13| 欧美性爱一区| 另类图片五月| 97av在线视频| 日本三级R| 精品成人动漫一区二区| 国产无码精品高清| 精品人成视频在线观看| 九九九免费视频| 天天综合网视频91| 色综合99999| 91欧美美女日韩国产婷婷| 极品丝袜无码| 特污免视频| 日韩乱码Av| 99久热| 日韩人妻资源在线看| 中日高清无码操逼视频| 国产又大又硬又长又粗| 中国东北熟女老太婆内谢| 免费久久一级毛片大黄| 熟女激情综合网| 亚洲97在线| 九九九九9999| 人人操人人93| 日本成人A片网站| 日韩中文字幕视频| 天天操夜夜嗨| 国产黄色av大片网站| 亚洲AV无码国产精品久久久久| 99性爱在线观看| 国产激情在线| 思思热在线| 91青视频| 精品网站99999| 欧色性第一页| 熟女熟妇一区二区三区视频| 少妇精品| 久久久久久精| 欧美日日操| 欧美一区二区三区日韩| 亚洲成人碰碰| 久草资源在线视频官方总站日韩丝袜美腿 | 亚洲古典另类欧美在线| 开心激情婷婷| 日韩一区二区熟女| 啊啊啊啊啊好舒服视频| 欧洲色综合| 成年人网站在线免费观看| 国内偷自视频区视频综合| 92人人操人人| 96久久科窝| 色在线69堂| 亚洲欧美洲综合| AV一起草在线| 极品色www影院| 99国产精品在线观看| 亚洲污污网站| 久久久久九九九| 日韩三A大片在线观看| 天天日B夜夜干B时时操B| 91无码中出人妻视频| 蜜臀人妻少妇久久在线观看| 久久精品视| 日本在线伊人啪啪| 成人乱人伦一区二区| 337p大胆噜噜噜噜噜91Av| 91 手机在线播放 绯色| 久久99草| 超碰97中文| 国产免费操逼| 欧美另类色| 国产精品亚洲日韩骚欢乐谷最新地址发布页huanieguty性屋娱乐妖精视频 | 亚洲欧美碰碰| aⅴ日韩成人电影av在线免费看av大全| 91精品丝袜久久久久久| 97爱b| 91天天看| 久久国产视频性吧| 99re在线视频国产| J?P?NESEHD熟女熟妇伦| 国产高清成人传媒影视| 一区二区精品更新提醒| 人人操人人摸超碰| 九九干| 夜夜高潮夜夜爽高清视频一| 97色操| 人人妻人射| 国产后入精品| 久99在线免费观看视频| 搡老女人老熟女91| 五月婷婷久久综合| 久草精品一区| 亚洲天堂五月天国产| 999在线电影香蕉| 黄站在线免费观看| 操逼网站视频漫画国产| 无码久| 性爱视频免费网址| 日本裸体久久色噜噜| 国产精品久久久久婷婷二区次| 九九久久一区二区伦理| 欧美在线大香蕉| 日本人妻最新在线中| 人妻天天夜夜爽一区二区| 另类图片五月天| 92午夜免费福利视频| 九九九九精品一区| 国产探花精品在线| 久干网| 日本三级A片网站com| 闷骚老熟女15P| 国产肏逼网站| 国产久久久9999| 97精| 91天天日| 国产又粗又大硬免费色网视频| 中文字幕在线观看丝袜| 天天干18禁| 天天综合网~69| 一二三区精品视频| 99这里有精品| 亚洲欧美小说| 亚洲天堂另类小说男人| 欧美日韩大香蕉| 无码人妻丰满熟妇奶水区毛片| 国产亚洲色婷婷久久99精品91 - 百度| 九九九网页| 超碰78| 久久久久ab| 92人人操人人| 一二三区精品视频| 日本伦理一区二区| 色视频蜜乳| 91N综合网在线| 欧美一级A片在线看视频性色| 欧美日韩制服| 熟女丰满人妻一区| av一区二区三区不卡| 激情终合网| 久久亚洲AV成人精品无码| 精品人妻一区二区三区免费视频| 亚洲欧美精品一区天堂久久 | 国产一区自拍欧美日韩| 乱码人妻一区二区三区| 资源在线观一 二| 高清有码一区二区| 久久久精| 久久久一热在线播放| 日本韩国国产精品一区| 久久精品无码不卡| 男人的天堂不卡一区二区| 欧美日韩国产一区二区小黄片大全| 天天日天天舔东京热| 中文字幕亚韩| 精品黄色电影| 亚洲黄a三级三级三级看三级| 国产无马av| 色波多| 欧美日韩国产精品久久色婷婷| 天天爽天天干| 岛国片在线视频网站| 好一吊区二区| 91高跟美女在线播放| 成人免费福利在线观看| 日日爱99| 九九久久国产精品怡红院| 亚洲免费精品一区| 干婷婷综合网| 九九精品99| 91 丝袜在线播放| 肉丝中文无码高清| 97激情97激情| 99精品热| 欧美成人A天堂片在线观看| 天天狂操夜夜狂日| 亚洲男人天堂视频| 日韩国产十八禁| 日本三级久| 一区三区啪啪| 在线岛| 尤物网站91| 亚洲一区二区中文字幕| 婷婷久草| 麻豆性爱视频在线播放| 欧美综合站| 欧美东京热精品A∨| 91大神精品长腿在线观看网站| 精品人妻一区二区三区免费视频| 国产又大又粗又长视频在线| 亚洲欧美校园另类春色| 五月婷婷AV| 亚洲AV无码久久久国产精品| jizzjizz欧美| 国产日韩欧美操逼视频| 欧美 精品国产制服第一页| 日韩十八禁| 天天色综合影视网| 久久久久久波多野吉衣高潮| 亚洲国产一区二区三区在线| Julia在线播放亚洲久久| 伊人色综合网电影| 操我无码| 午夜福利精品| 啪一啪免费视频| 色情乱伦AV| 国产精品婬乱一级毛片彝族| 人人操我人人干| 国产二区三区免费视频| 亚州欧美色图| …亚洲黄色厕厕女女在线播…| 天天性射网| 亚洲交换| 国产精品在线免费| 日韩精品亚洲一二三| 香蕉国产97| 日韩精品啪啪啪| 狠综合网| 国产精品一区二区手机看片| 日韩无码一级黄色av片| 久久男人天堂| 亚洲图片欧美色图| 久久精品国产Aⅴ| a片在线播放| ji熟女.com| 一区操逼日比视频| 黄页网站免费高清在线观看| 国内偷自视频区视频综合| 精品久久久久久中文| 欧美性爱1080p| 国产精品无套内谢| 日本国产欧美高清在线| 久久五月婷| 国产视频一区二区在线| 三级三久久线久久99久目本WW| 日欧操屄视频| 成人夜夜爽| 天天舔九色婷婷| 韩国三级三级BD在线| 精品一区二区三区四区外站| 中文字幕无码不卡啪啪| 欧美丝袜中文字幕07在线| 国产偷人伦激情在线观看| 国产精品999aaa| 久草视频观看视频在线| 一级A啪啪啪啪| 欧美色偷拍 | 91jk色拍| 日本新免费二区三区| 亚洲人精品午夜不卡| 亚洲欧美人妻| 午夜爽爽爽在线观看永久入口姬片| 天天操天天舔| 久久久久国产亚洲一区欧美色图日韩| 日日黄色三级网站| 久久风骚城市人| 国产无码高清操逼视频| 日本国产欧美高清在线| 99啪| 九九九只有精品| 亚洲天天综合| 色牛牛AV| 啊啊啊快操我视频| 亚洲欧美综合网| 欧美自拍偷拍综合图片| 日韩啪啪视频| 久久99精品国产| 丰满人妻一区二区三区色-百度| 国产a片操逼| 人人爽天天爽| 5252色欧美在线男人的天堂| 日韩性爱一级片| www久久99| 色香伊人| 日韩一级久久毛片| 婷婷中文字幕| 观看视频图片一区二区三区| 99色热| 1级午夜影院费免区| 97色色视频| 91激情国产| 两女互慰AV高潮喷水在线观看| 国产精品香蕉热久久新品| 大香伊人在线一区| 男人精品区| aaaa黄片| 欧美性暴力猛交XXXX| 亚洲欧美洲综合| 精品国产乱码久久久久久口爆网站| 日韩内射视频| 国产视频第二页| 丁香婷婷九月| 狠操91,com| 啪啪啪精品| 精品一区96| 熟女精品日韩一区二区三区| 特级丰满少妇一级AAAA爱毛片| 亚爽爽爽爽爽爽爽爽| 青草一区二区| 日韩黄色成人性爱| 久久精品人妻一区二区三区| 国产精品蜜臀久久久久无码AV| 久久精彩视频9| 夜夜躁狠狠躁日日躁av| 亚洲啪啪性视频| 97国产精品在线观看| 午夜理论片在线观看免费| 欧美aⅴ99久久黑人专区| se吧提供国产乱老熟视频胖女人 | 熟女91网站| 在线免费观看日韩一区| 色欲人妻一区二区在线| 眼镜人妻101.com| 佐山爱中文字幕| 中国熟女老妇仑乱一区二区三区| 亚洲熟女国产综合另类| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区 | 亚洲综合骚逼| 欧美视频一| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 久草大| 日韩中文字幕宗合在线| 欧美精品xxxwww| 91狠狠狠| 国产剧情在线| 91啪9色| 无码免费在线观看黄色片| 成人无码专区精品视频| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 久久大香蕉97| 色色99| 啪啪视频免费在线观看| 97午夜剧场日韩| 在线免费观看高清无码视频| 欧美亚洲20p| 中文字幕奈奈美被公侵犯| 97精品在线| 五月婷婷丁香| 亚洲牲交| 丰满搜索结果 -第18页- 久久高清无码 | 欧美亚洲一区二区久久久婷精品大包诱| 欧美精品成人一区二区在线观看 | 日韩操呦呦影院在线观看| 欧亚乱色熟女一区二区| 97人人夜| 99热免费| 东京热视频网| 亚欧美综合| 情色日播放AV| 国产成人精品必看| 国产三级中文字幕粉嫩| 人妻天天爽夜夜爽爽| 性爱视频无打码在线观看| 怡红院亚洲怡春院av| 天天综合网~69| 精品久久久久久AV无码| 中文字幕第95页| 97干在线看| 狠狠色噜噜狠狠狠狠狠色综合久久 | 操操逼视频| 亚州高清AV| 午夜性| 国产女性无套 免费观看| 国产一国产一级毛片古装| 黑人干亚洲| 九九热精品免费视频| 久久一区二区高清免费| 精品久| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 91丝袜激情在线| 九九热AV| 三级三级三级a级全黄三| 国产美女自拍视频| 国产乱人妻精品入口| 久久久久精| 丁香五月天堂| 精品国产91av一区二区三区| 夜色91| 美女黄色91| 九九九九九九九九九五码| 东北夫妻性偷拍| 超碰人人在线| 日本性感人妻91| 欧美加勒比| 国产9熟妇视频网站| 久久久久久波多野吉衣高潮| 久久人妻办公室视频| 色综合网1| 美女午夜福利免费视频| 久久久久久九九九| 精品国产乱码久久久久久免费| 啊啊啊啊二区好大| 九色97| 天天操天天插| 久久婷婷伊人| 思思性爱| 中文乱码字字幕在线第5页| 97视频免费播放| 亚洲综合网91| 亚洲成人AB| 天天看高清麻豆| 大香蕉97久久| 思思热在线观看| 丁香五月天啪啪| A久久| 免费A V在线| 亚洲色欲天天人妻无码系列专区| 91精品人妻电影| 日本性交操一区二区不卡系列| 亚洲春色一区二区三区| 熟妇乱伦一区二区| 百度百度日本操逼| 激情欧美97| 91超碰在线| 久久狠狠色噜噜狠狠狠狠97| 欧美色图91| 91少妇| 免费久久一级毛片大黄| 日本三级A片网站com| 久久精品国产亚洲AV高清演员表| 日韩偷拍一区二区三区| 亚洲国产ⅴ高清在线观看| 亚洲另类欧美精品| 亚洲AV成人无码一二三久久|