日韩精品一区二区三区在线视频放-无码中文字幕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
返回資訊列表
黄总AV色图| 国产精品久久久久久久久久久久| 98人妻精品一区二区色欲| 97欧美性爱| 99啪啪| 欧美激情区| 亚洲成人福利电影免费| 欧美论理片| 成人国产视频在线观看| 天天日老熟妇| 国产精品白丝| 久久久久久久久久久六六| 九九九九一级| 欧美日韩国产中文精品字幕自在自线| 伊人欧美大香蕉视频| 国产精品久久久久久久毛片1| 夜夜夜久久| 色欲久久99国产精品久久久久久| 91粉嫩萝控精品福利网站_精品影音先锋国| 色娱乐色呦呦夜夜夜夜av| A 天堂| 欧美视频在线第3页| 青草精品视频一日本久久久久网站| 日韩 欧美 另类 人妻| 亚州综合色图| 大香蕉专区| av线电影| 人妻中文在线| 免费试看60秒| 久久9久9久99久9久9| 天堂成人网| 激情五月天色播| 欧美综合色图片| 色情五月丁香| 97伊人网| 中文久久一区| 自拍偷拍 高清无码| 国产av热热色| 婷婷久月| 亚洲在线欧美| 中文字幕视频2区| 深夜福利黄片| 男人网站婷婷| 中文字幕成人理论在线| 青青操日韩| 99精品无码| 夜夜爽夜夜操| 先锋音影AV| 去干网最新版| 欧美色图综合网| 亚洲美乱| 久久毛卡| 91爱剪切久久| 97色色色综合网站| 做爱A级亚欧| 日本大香蕉| 抽插无码高清一区| 东京热男人的天堂| SUV一区二区在线看| 日本国产高清色www视频在线| 伊人视频| 欧美日韩99精品麻豆传媒| A级毛片在线看免费| 午夜AV污污污| 精品久久一区二区三区四区五区| 91啦人妻| 夜夜黄| 亚洲熟妇乱女区二区三区| 精品少妇人妻av久久免费| 99精品综合久久久久五月天| 夜夜高潮夜夜爽| 日本三级R| 国产高清成人免费视频| 亚洲中亚日激情视频| 精品国产一区二区三区av在线资源| 欧美日韩中文字幕人妻| AV在线资源| 手机看片1025| 在线A日本| 天天综合网~91入口| 啪啪啪综合网| 93人人操人人| 2024年最新色情网站在线观看| 亚洲有码第一页| 色婷婷激情| 亚洲成人日韩小说| 狠狠久久手机视频精品| 97鸡把在线视频| 国产高清不卡视频| 日韩美脚一区二区网站| 国产在线视视频有精品| 国产亚洲精品精AV.| 亚洲天堂资源在线| 白嫩妹子国产骚| 久久天天躁日日躁狠狠躁| 天天干夜夜一操| 日本久久女同性恋视频| 亚洲天堂男| 超碰在线第一页| 午夜啊啊啊| 色婷婷丁香五月| 超碰国产精品久| 欧美人与动性人交a| 激情内射| #NAME?| 神马午夜久久久| 香蕉99秘 精品一区丁香| 性爱av在线免费观看| 你懂的在线观看区国产| 国产精品不卡av免费在线观看| 爱丝福利| 日本天天干天天日一区| 色老牛| 中文字幕一区二区三区人妻少妇在线| 五月丁香久久| 9l视频自拍9l九色成人| 日日狠狠久久偷偷色综合免费| 伊人激情五月天一区二区| 国模私拍一区二区三区神乳| 日本成人在线不卡一区二区三区| 后入式免费视频| 天天综合91入口| 久草久日| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 自拍鲍鱼一区在线高清观看免费| 欧美日韩性爱操大逼| av爱爱爱| 国产精品久久天天干| 又粗又长又大国产不卡| 日本欧美中文字幕| 天天草天天日| 国产一进一出视频网站| 欧美日韩不卡a片| 操逼操逼视频操逼| 美女极品一区二区三区| 国产成人欧美一区二区三区的国产| 日韩欧美日韩| 中国AAAAAA黄色片| 成人小说视频在线精品欧美| 91精品国产日韩欧美综合| 九九精品99| 丝袜熟女一区二区三区| 性爱乱伦网址| 日日夜夜天天| 国产精品 午夜福利| 99xav| 伊人午夜福利视频| 激情综合网亚洲| 无码137片内射在线影院| 97操| 日本性爱欧美性爱| 亚洲黄网在哪免费看| 疯操AV| 色路综合| 91中出| 日韩欧美操逼xxx| 亚洲熟女乱色一区二区三区| 无码高清操逼网址| 综合久久欧美| 成人色女网| 亚洲色图伊人网| 中文字幕欧美精品亚洲日韩蜜臀| 欧美人妻制服| 能在线播放的国产三级| 亚洲欧美激情在线视频| 久久久999日本大片| 一区二区三区日韩欧美 | 99re视频在线观看这里只有精品| 色香91| 91黑丝少妇| 香蕉综合网| 日韩一级特黄av毛片| 日韩精品资源专区二区| 97超碰人人模人人拍人人| 伊人麻豆传媒| 色穴精品| 天天肏美女| 伊人综合色网| 99re9这里只有精品| 色噜噜国产在线| 好吊色综合| 大色综合| 两女互慰AV高潮喷水在线观看| 韩国免费播放一级毛片| 1级黄色夫妻对换性交免费看| 欧美日韩大香蕉| 国产极品美女高潮无套在线观看| 亚洲欧美setu| 91人妻做a观看视频| 草草网站影院白丝内射| 青青草天天亲夜夜操网| 精品一区二区啪啪啪| 亚洲综合色男人网| 伊人久久国产免费观看视频| 玖玖爱一区在线| 午夜无码熟妇丰满人妻| 精品免费囯产一区二区三区 | 日韩久久三区| 国产伦乱91| 淫荡网址| 久草免费福利在线播放| 亚洲脚交| 一区二区三区免费岛国片| 精品一区二区在线针对华人免费观看这里只有精品免费观看 | 激情五月天婷婷| 亚洲码和欧洲精品激情系列| 欧洲一区二区三区四区在线观看| 欧美激情在线观看视频| 人人人人插| 成人性爱AV在线免费观看| 欧美日韩国产高清在线一二三区 | 97久久视频| 欧美日本天堂| 久久狠狠色噜噜狠狠狠狠97| 蜜臀av中文字幕| 91色花堂| 国产AV高清AV无码| 超碰97最新人妻| 蜜臀久久99精品久久久久久无删减| 精品一区二区在线针对华人免费观看这里只有精品免费观看 | 99re9| 人人爱人人操人人性| 日韩偷拍色图| 91 天天综合| 久久久无码视频| 精品人妻一区二区蜜桃视频| 唯美清纯 妖精视频| 国产在线视频午夜精华在| 国内毛片无码一级毛片| 性爱av网站| 大香蕉国产中文自拍| 91精品网站| 亚洲有码 视频一区| 国产精品国产自产高清AV | 欧美大香蕉久| 爆操无码| 超碰偷拍| 亚洲国产无码精品首页久久久| 热热色国产一二区AV| 人澡逼| 国产av波波国产精品| 超碰在线成人电影| 岛国AV一区二区电影| 狠狠入| 亚州成人a∨| 国产无套粉嫩白浆在| 超碰97在线中文| 污污汅18禁网站在线永久免费观看 | 园内精品自拍视频在线播放| 啊啊啊啊啊啊啊国| 亚洲图片激情综合另类| 天堂伊人久久| 亚洲欧美中文日韩视频中国语| 使劲用力艹少妇视频一区二区| 亚欧免费| 99999久久精| 你操综合| 91熟女视频| 涩爱AV在线| 亚洲天堂中文字| 日本97久久| 嗯嗯啊操我| 97在线视频免费观看| 日韩国产十八禁| 一区二区影院| 国产99精品一区二区三区免费| 色色99| 成人久久久精品| 日本性爱不卡视频| 欧美后入| 国产午夜福利合集| 青青草视频久久久久| 狂操嫩妻视频一区二区三区| 熟女露脸激情自拍视频| 亚洲有码 欧美精品| 偷拍盗拍亚洲色图图片| 超碰碰激情97+久| 女优视频第10页| 日本三级一区二区 在线| 夜夜欧美 | 新91视频.cmp| 黄色二级片网站| 簧片免费看视频| 中文字幕AV乱伦| 东北熟女91| 青青草好吊| 影音先锋一区二区在线资源| 成人在线视频二区| 日韩欧美亚洲一区二区三区影院| 午夜视频黄| 欧美翘臀视频网站一区二区三区| 久久华人网| 亚洲综合九| 国产亚洲性生活视频播放| 精品人妻一区二区三区四区| 天天影视网色欲色香| 麻豆乱码久久精| 亚洲最大AV网| 日本一区二区三区四区免费观看| 俄罗斯一区二区视频在线观看| 啊啊啊啊操死我| 少妇三p| 久久黄黄黄| 欧美综合亚洲| 日天天九九天堂666| 精品丰满熟妇人妻一区| 校园春色美腿丝袜 | 蜜汁欧美| 欧美色干| 操b网站亚洲无码| 深夜激情| 91亚洲欧洲| 国产精品福利资源在线尤物| 日韩精品一区二区人人人| 日本淫色网| 91色插| 国产乱伦亚洲| 亚洲精品丝袜-不卡成人免费…… 久久久久成人蜜桃精品 | 综合久久六月久久婷婷| 91综合网在线| 成人精品电影| 色青青久久影视| 男女无套 免费网站| 亚洲精品不卡一二三区| 久久久久9久久久久| 伦理第一页| 韩国国产欧美情侣视频在线| 亚洲宅男天堂| 无遮挡一级毛片视频免费的| 啊啊啊啊啊在线| 日韩人妻一二三区视频| 日本色日夜干| 久久AV无码网址| 精品久久9| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 26UUU欧美激情一区二区| 国产成人啪一区二区| 啊啊啊啊啊啊啊好爽不要| 97超碰这里只有精品| 好吊色青靑草| 极品色www影院| 91偷拍欧美亚洲| 超碰诱惑| 一区二区三区激情在线观看| 91色五月俺来也| 操老熟女AV| 黄色免费一级在线毛片| 丰满岳乱妇一区二区三区| 一品道视频一区二区三区| 午夜九九九九九九| 午夜精品久久久久久久99| 91欧美少妇| 亚洲高清国产理伦片| 97ai亚洲| 久九色| 呻吟 欧美 日本 中出| 色女网日韩| 九九久久国产精品| 91麻豆天美国产欧美高潮| 粉嫩av平台| 人妻久久久| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 最新日产中文在线麻豆| 这里只有精品久久| 久热这里| 国模精品一区二区三区苹果色戒| 国产三级中文有码在线视频| 天天日日日射| 高清无码久操视频| 密臀在线免费观看| 视频一区二区免费在线| 中文字幕一二三区| dy888午夜老子影视达达兔| 91综合国产精品| 中文字幕诱惑制服人妻丝袜美丝袜美 | www.天天干| 四虎影视永久在线观看精品免费网站| 一本一道波多野毛片中文在线| 亚洲 欧美 精品专区 极品| 婷婷五月天av| 精品欧美乱码久| 长长久久曰曰夜夜成人网| 色色97爱| 躁躁日曰躁2020| 亚洲欧美综合| 久久精品一区| 国产午夜激片Av毛片不卡| 啊啊啊啊好大好硬啊啊啊啊啊| 2019天天干天天操 | 操操啪| 久久91| 日日夜夜噜| 成人性爱高清视频免费看| 久9爱精品| 婷婷伊人綜合中文字幕| 国产精品久久久午夜夜伦鲁鲁| 一线黄色免费性爱片| 手机久操欧美综合色码| 国产精品点击进入在线影院| 精品人妻一区二区三区蜜桃视频| 再深点灬舒服灬太大了好硬好爽| 东京热双插| 久久熟妇五十路一区| 久久精品人人做人人看| 蜜桃传媒视频第一区入口在线看| 久久久不能久久久久| 去干网最新版| 18禁精品网站在线看| 淫淫综合网| 性爱AV天堂| 欧美1727免费观看视频| 亚洲欧美日韩电影网站一区| 中文字幕性感少妇av| 超碰午夜| 51一区二区三区| 磁力99AV| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 国产精品久久久久亚洲av| 熟女精品日韩一区二区三区 | 欧洲一区二区三区免费| 东京热激情视频一二三区| 激情看片网站| 99久久久er直播网址| 日韩av性爱在线播放| 99av| 97综合国产| 秋霞成人一级在线观看| 日韩BBN| 最新精品久久蜜桃 | 日韩无码人妻中字久久三区四区| 91在线/欧洲| AV在线资源| 中文字幕视频在线观看一区二区| 久热久| 任你艹| 久热99| 日韩在线观看中文字幕视频| 欧美性爱视频免费一区一A| 天天躁日日躁xxxxx| 中文字幕五月婷婷免费| 午夜男人av| 日韩人妻播放| 精品偷拍13p欧美dodk视频| 久久东京伊人一本到鬼色| 日本不卡高清视频| 在线精品福利免费播放| 任你爽视频| 天天综合精品| 啊啊啊com| 午夜欧美J进J出白浆流出久久久| 天天爽夜夜欢视| 亚州色图欧美| 国产精品对白自产拍| 久9精品| 久96热在线观看视频| 青草草免费网站av| 国产一区在线免费播放| 六六久久日韩不卡| 亚洲情色在线| 日日骚一区二区三区| 国产精品白丝| 丁香六月东京热| 亚洲少妇色| 西西美女视频网| 男人的天堂三级| 男女一进一出视频久久| 人妻乱仑一区二区三区| 亚洲情色婷婷五月天| 国产青青美女玩逼视频| 国产91 丝袜在线播放00-百度| 影音先锋每日最新资源在线观看| 自拍鲍鱼一区在线高清观看免费| 亚州AV无码国产精品| http://qxhbdz.com| 岛国999| 国产1024在线播放| 激情四射五月天| 九九热超碰97亚洲最新香蕉| 精品人妻一区二区三区免费视频| 爽极品影院| 欧美综合97www| 青青草AV色| 成人激情无码在线视频| 伊人久久国产免费观看视频| 91宗合网| 亚洲图片欧洲图片aⅴ| 精品久一区免费| 国产精品白丝www| 一起草日韩| 一区,二区,三区网站| 久久久久久综合久久伊人蜜月| 伊人五月天激情| 淫骚熟女一区二区三区| 日韩成人私密一级精品av| 色播五月丁香| 久久精品无码专区| 淫妻综合网| 97久久综合网| 99色热| 少妇精品| 天堂涩涩| 国产精品3| 美国一区二区三区视频| 久久av色| 亚洲国产精品成人久久蜜臀| 国产一级黄色片在线观看| 九九热精品视频在线观看| 久久久久一本一区二区青青蜜月| 欧美日韩欧美| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 欧美伦乱| 婷婷五月天福利| 啊啊啊免费| 中文字幕一区 二 区 三 四 五 区日 日 骚 | 中文字幕一区二区三区蜜桃视频| 亚洲国产激情国产av| 久久精品无码专区| 日少妇亚洲版| 色成人Www精品永久观看| 五月婷婷激情| 激情小说图片亚洲首页 | 377p欧洲日本亚洲大胆| 白嫩91在线亚洲| 亚洲日本加勒比在线| 久草尤物| 密臀在线视频| 大香蕉综合| 国产乱人伦AVA麻豆软件.| 在线观看啊啊啊啊啊| 大香樵伊人网| 3028国产精品| 91美女视频| 久久久久9999精品九九九| 亚洲精品中文字幕一区在线视频 | 激情综合五月| 精品亚洲国产成人精品| 91美女小视频| 亚洲综合色在线| 成 人 影视 一区 二区 三区 四区| 樱花蜜乳av| 日韩97在线| 欧美性天天影院| 九九无码久久精品视频| 日韩性爱再线视频| 久久精品国产AV一区二区三区| 久久久久久久久久久久九| 天天综合网一91网| 爱做久久久久久| 欧亚性爱在线视频| 国产乱伦视频污| 欧美亚洲今日在线| 男人天堂无码| 亚洲色图自拍| 黄色电影观看久久9| 一区二区三区美女超清| 日本道不卡| 夜夜嗨一区| 国模91| 九九九九欧美| 超碰97久久观看| 日韩激情视频| 91新在线欧美| 妇人噜噜| 成人欧美日超碰| 日韩久久艹| 天美精品一区二区三区四区在线观看| 嗯嗯,啊啊,国产精品| 国产精品久久久亚洲一区| 深爱激情五月天| 一区二区三区四区色图| 91在线页| aaa淫乱视频| 国语人妻精彩刺激| 亚洲综合888| 一区二区三区精品黑丝白丝酒店对鸡| 日韩三级一区 | 成人性交免费视屏| 少妇久久久久久| www.av家庭乱伦| 免费av高清无码| 亚洲成人免费中文字幕| 岛园激情| 97亚洲综合电影| 亚洲美女精品| 91春色| 超碰人人干天天射| 成年女人18级毛片毛片免费观看| 久久国产视频性吧| 亚洲日本韩国在线| 99免费在线视频| 五月天婷婷综合网| 久久一区二区蜜桃| 91热| 97国产|免费| 熟女一区二区| 5月婷婷6月六月丁香| 亚欧洲日韩国产精品| 91亚洲欧美色图| 亚洲欧美国产日本一区二区三区| 久久免费9| 色爱国产| 日韩免费福利在线观看| 丰满欧美放荡少妇在线| 在线小视频| 神马久久69| 亚洲性猛交| 蜜桃狠狠色伊人亚洲综合 | 欧美色棕合| 蜜臀AV成人精品蜜臀AV久久| 欧美婷婷久久| 久久中久文96| 亚洲成人福利电影免费| 亚洲国产97| 日韩黄色一区二区三区| 精品国产网站| 中文字幕在线免费观看2| 国产中文日韩欧美一区二区三区人妻丝袜美腿| 加勒比海色香蕉婷婷| 亚洲色人| 91人妻精华帖| 欧美久热| 成人八戒网站| 91路www| 偷拍在线观看视频| 色久桃花影院在线观看| 综合熟妇一区二区三区| 嗯啊抽插大香蕉网页| 操逼网免费无码视频| h在线看免费版在线看| 在线 亚洲 网爆 自拍| 国产免费一区| 色九色久| 国产一区二区三三视频| 色婷婷六月| 精品9区| 亚洲久久久久| 精品一区二区人妖| 久久这里都是精品| 91亚.色| 亚洲精美粉嫩嫩泬在线观看 | 一本道综合色图| 超碰99re| 天美国产三级传媒| 日韩av在线精品观看| 九九久久99| 中文字幕一区电影在线观看| 国产少妇内射| 超碰97爽| 亚洲精品天堂久久A∨51成人漫| 天海翼久久| 亚洲欧美大香蕉| 久操操AV电影| 夜夜免费视频| 看看小穴| 亚洲最大的综合性av| 亚洲少妇在线观看| 制服中出中文人人精品| 久久精品人体AV| 被男人添B超爽视频| 天色综合网| 亚洲熟妇白浆无码AV| 亚洲美女自拍偷拍视频| 天天综合网合集91| 黄片在线免费在线观看| 国产成人 综合亚洲 天堂| 怡红院成人av| 啊啊啊操一区| 男女激情黄色网址| 日韩另类色图| 欧美的性爱网站免费| 超碰免费人人| 韩国黄片aaaa| 国产女大学生AV| 国产欧美日产一区二区三区 - 国产欧美日 | 亚洲欧美内射| 久久久久久波多野吉衣高潮| 五月婷婷性爱| 极品尤物自安慰| 精品性爱| 不卡日本一区二区| 国产又粗又长又大的视频| 精品久久久久久久久久久久| 老女人爆菊| 久久五月丁香| 黄片www.| 免费看欧美美女黄色大片| 五十路六十路素人熟女| 久久精品国产亚洲AV先锋| 懂色Av一区二区三区| 加勒比无码毛片| 亚洲诱惑天堂 | 欧成人在线| 精品人妻一区二区三区蜜桃视频| 少妇与黑人高潮在线| 亚洲五月婷| 国产久久av| 特级特黄一级毛片免费| 99色网| 亚洲色图图片| av网页一区二区三区| 内射卯月麻衣| 天美传媒av一区二区| 久久久国产精品亚洲精品| 99www.bibizy香蕉资源国产一区二区三区高清| 欧美激色| 青青草五月天| 区一二区日韩亚洲乱码av电影| 久久啊哟| 日韩三级在线观看mp4| 日韩精品9999| 中文子幕一二三| 97ai亚洲| 国产精品成人AV片免费看网站| 亚欧高清| 粉嫩av在线一区二区| 午夜高清成人在线视频| 激情婷婷五月天| 大香蕉十区| 亚洲国产蜜臀系列在线观看| 青娱乐 青青青操 日逼| 亚洲欧美天| 加勒比综合| 久久国产乱子伦精品免费女人| 很很热性爱视频| 九色 人妻 大香蕉| 屌妞视频久久久久久久久久久久| 九九超碰综合网| 东北女人操逼| blacked精品一区国产| 中文字幕 国产 精品| 日本天堂网| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 激情视频网址| 98精品国产乱码久久久久久| 2019男人的天堂| 国产精品一区av在线| 丁香五月天激情综合| 成人一区二区三区四区| 久久久无码精品人妻二区 | 手机看片91人妻| 亚洲午夜AV| 国产乱人妻精品入口| 91东北熟女| 日本精品成人无码| 丝袜翘臀后入欧美校园亚洲自拍另类小说一区中文字幕少妇诱惑 | 亚洲动态色图| 国模精品一区二区三区苹果色戒| 丝袜综合| 蜜臀一区二区三区在线| 欧美 精品国产制服第一页| 久久,精品一二三| 亚洲色棕合| 欧美大香蕉专区网| 青青草色插素人| 亚洲**2021在线观看| 大香蕉123| 91综合无码| 日本午夜久久电影| 国产小炒后入式| 色在线综合| 97爱免费插| 东北毛片| 黑丝91视频| 国产久久久久久| 爱爱动态120秒| 加勒比伊人| 内射日韩大臀美女| 日产欧美电影一区二区三区| 亚洲国产一区二区三区在线| 精品国产乱码久久| 伊人国产av| 国产日韩精品无码去免费专区国产| 婷婷国产精品九区| 无码人妻一区二区三区免费九色| 成人资源中文字幕在线观看天天| 啪啪啪亚欧美视频| 精品久一区免费| 国产在线强奸视频| 日韩影片中文字幕一区二区三区| 人妻一二三区| 91天堂色男人的天堂| 大香蕉中文201| 热天堂一区二区| 久热在线精品免费观看| 中文熟女五十乱码在线| 久久免费精彩视频| 国内偷拍精品一区二区| 亚洲熟女乱综合一区二区三区| 97精品在线| 人成午夜免费大片| 人妻少妇久久中文字幕一区二区 麻豆 | 人人干黄色| Sekablack无码一区| 久久无码电影| 高潮嗯啊性感美女久久久| 91精品人妻一品二品三品| A片 AV一级在线播放观看免费| 亚洲熟女综合| 97亚洲精品| 国产超碰| 亚洲一区制服诱惑| AV一区观看| 久久嫩草国产成人一区| 熟妇色99| 激情综合五月| 精品一二三区女同| 亚洲天堂一区二区久久| 日韩国产十八禁| 欧美999| 色嘟嘟人妻天堂网| 国产精品天堂| 97精品国产97久久久久久| 国产一二三福利视频网| 亚洲一区日韩| 欧美激情久| 久操视频资源站公开| 97视频在线免费播放| 色官网色综合| 九九av| 亚洲高清无码AAA久久久精品| 日韩综合97P| 无码国产精品久久久久| 久久后入制服| 五月婷婷六月天| 明星性猛交ⅹxxx乱大交| 超碰色中文| 91丨豆花丨熟女| 青操影院| 在线只有精品| 99久久精品国产系列| 大吊色| 日韩图区 偷拍| 欧美夜夜骑视频| 91精品啪在线观看国产城中村| 久久华人网| 午夜精品久久久久久久男人的天堂 | 欧美亚洲高清不卡| 中文字幕成人理论在线| 超碰综合97在线| 久久人妻丝袜一区二区三| 亚洲欧洲成人在线电影| 亚洲精品自拍| 久久国产精品熟女人妻| 探花一区在线| 国产精品96| 久久99草| 99热在线播放| 高清国产成人无码| 国产999精品久久久| 亚洲91亚洲| 免费综合亚洲中文| 亚洲无码国产探花在线观看| 后入式999| 亚洲AV免费在线| 这里只有精品视频在线观看麻豆 | 成人欧美日超碰| 插入综合网| 精品性爱一二三区| 中国一级αV| 欧美色图 人妻| 嗯嗯嗯嗯啊啊啊好紧好大| 亚洲中文国际强奸字幕| 国产色产精品在线观看| 视频在线97| 艳尻美人妻| 岛国艾薇凹凸视频天堂| 9色国产精品一区粉嫩| 久操电影网| 国产精品午夜福利视频| 欧美欲色| 亚洲精品一区二区三区新线路| 三级特黄60分钟播放| 免费试看60秒| 色噜噜狠狠色综无码久久合欧美| 少妇蹲下买菜露大唇0| 久久久久ab| 图色综合网| 天天干天天日天天射黄色| 五月丁香婷婷啪啪| 最新日韩黄片| 天天做日日爱夜夜爽| 无码最新| 又粗又长又爽在线观看| 久久性生大片免费观看性| 伊人91| 亚洲在线a| 人人喜人人妻| 亚洲日韩av一区二区三区百合| 国产精品天美传媒| 久久天天摸| 九九综合| 青青国产精品在线| 天天色悠悠激情| 少妇无码太爽| 亚洲熟女综合| 亚洲色图欧美另类在线| 91美女看B| 中文熟女五十乱码在线| 国产日本顶级一区二区三区| 91女色| 日韩中文字幕2020| 影音先锋乱| 亚洲第一在线视频| 桃色五月天| 很很干很很操| 欧中日成人免费影视| 伊人国产视频| 91色s| 600国产精品视频| 亚洲欧洲成人在线电影| 伊人丁香五月婷婷| av天堂手机版追回| 91视频国品一二三区| 色诱avtt| 桃色人妻在线视频| 亚洲全色网| 婷婷去俺也去六月色| 色五月综合网| 99国产精品久久久久久久成人热| 色男人色天堂东京热| 东京热大香蕉| 两性色网| 青青草原狼av| 嗯嗯啊啊的视频| 91亚洲人| 破苞ⅩXXX性无码动漫无码| 无码heyzo高清一区| 亚洲高清在线se| 欧美狠狠| 一区操逼日比视频| 亚洲天堂另类小说男人| 天天插夜夜爽| 亚洲色天| 日操粉逼逼| 欧美 亚洲 大香| 欧洲精品久久| 性爱综合一区二区| 亚洲丝袜二区| 久久久性少妇| 国产成人一级av88| 日本不卡高清免v欧美日韩在线观看| 久久久九精品| 日本性爱欧美性爱| 看黑人AV不卡| 亚洲国产熟妇综合色专区| 中文字幕精品区先锋资源| 蜜桃精品视频一区| 日韩精品资源专区二区| 成人欧美一区二区三区黑人一| 午夜精品久久久久久久99| 免费久久一级毛片大黄| 五月婷婷性爱| 日韩十八禁| 加勒比综合网| 91大学精品激情戏| 伊人网在线观看| 美女天天干| 白嫩国模丰满一二三区| 97就爱干| 亚洲五码一区二区三区| 欧美少妇高潮久久91| 久热在线精品免费观看| 久久最新视频免费观看| 被男人吃奶很爽的毛片| 色999偷自拍拍| 囯戸精品高潮呻吟旡码| 亚洲欧洲无码97久久精品| 亚洲自拍97| 99视频精品| 久久久久国产精品人妻aⅴ天堂| 91强热人妻| 少妇色欲综合网2| 六月丁香五月婷婷| 99热婷婷一区二区三| 99啪啪| 久久久青青草| 亚州色交| a亚洲欧美色欲| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 校园春色之综合网| 精品综合久久久久久五月天| 蜜桃臀 后入 一区 二区 三区 在线| 欧美日韩大香蕉| 日韩美女,国产传媒,视频一区| 国产精品香蕉热久久新品| 中文字幕一区二区三区四五区| 婷婷综合| 99re在线| 精人妻无码一区二区三区伊人直播 | 日韩性爱啪啪视频| 91美女看B| 青青久久手机线视频| 欧美自拍网| 97日视频| 大香蕉啪啪啪| 91网站18禁| 熟妇熟女亚洲天堂网| 中文幕97| 色婷婷视频| ,成人免费啪啪视频| yazhouzaixian| 久色网| 天天色天天干天天爱| 超碰99热中文字幕| 91狠狠综合久久久| 精…码一二三区| 婷婷激情啪啪| 久九色| 91精品人妻一区二区三区蜜桃臀| 亚洲日本激情| 日本不卡一二区| 久久 亚洲 日韩 人妻| 操逼日韩无码| 欧美一区二区三区四区综合| 一区二区三区一亚洲中文字幕、综合区灬| 天天享受天天看| 国产精品久久久久久久毛片1| 欧美成人色| 精品人人插人人操| 日韩在线一区高清在线| 亚洲性综合11| 亚州日韩97| 亚洲五区熟女| 天天淫人人妻日日色| 五月天综合在线| α√在线| 亚洲精品啪视频| 一级性爱啪啪视频| 欧美性爱精品七区| 日本一道在线播放高清| 东京热男人天堂| 久久精品国产亚洲av水密被窝| 久久久精品九| 女同性恋中文字幕| 97国产伦理| 97久久精品不卡| 久久久久久久久国产| 成人片视频| 啊啊啊啊啊啊啊网址在线观看| 亚洲情色在线| 日韩欧美偷拍美女视频| 美女诱惑在线一区| 男人天堂 天天射| 九九亚洲色在线观看| 嫩草 我啊~嗯~在线| 一卡二卡三卡| 中出后入| 亚洲在线A| 久9精品| 亚洲a色| 国语av狠狠色丁香婷婷综合激情| 少妇蹲下露出大唇5| 黑人娇小av在线播放| 国产精品ⅴ无码大片在线看.| 在线观看无码三级少妇| 久久人人舔人人爽舔人人av片| 国产乱人伦AVA麻豆软件.| 最近的最新的中文字幕视频| 丁香五月影院| 欧美曰韩国产精品| 视频在线观看一二三区| 91精品国产麻豆国产自产在| 亚洲午夜AV| 国产视频一区二区在线| 色女99一级片在线观看| 欧美一级专区免费大片| 久久女女| 男人天堂最新手机版在线青青草| 国产久久久久久| 97亚洲自在精品在线观看| 日韩欧美加勒比| 亚洲国产丝袜熟女av| 亚洲色图欧美视频| 久久日韩毛| 国产青视频| 亚洲激情视频| 国产家庭乱伦网址| 淫淫总合网| 91新在线欧美| 欧美激情内射| www.黄色在线| 99综合| 不卡一区视频| av黄图片在线观看| 啪啪啪精品视频| 亚洲影院小综合| 欧美 亚洲精品首页| 草草草草视频| 亚洲成人日韩小说| 操逼网站地址| 欧美视频在线视频免费va| 一区二区三区 丝袜 高跟 美腿| 亚洲骚男同com| 亚洲成A∨人影院在线欢看| 大香蕉综合| 操逼视频国产无套| 99999精品视频| 欧美组图日韩亚洲中文字幕| 色色色综合| 后入福利视频| 天堂а√在线最新版在线| 欧美少妇熟女| 91N综合网| 偷拍 欧美 日韩| 亚州成人a∨| 91久久青青草原精品| 国产无马av| 欧美啪啪天堂| 亚洲成人福利电影免费 | 国产高清成人mv在线观看| 日逼五月天| 欧美偷拍区| 亚洲人妻av| 欧美综合网A| 欧美毛片在线网| 日本布卡一区二三区| 国产高潮AA片免费看| 高清无码学生妹高潮| 在线v中文字幕一区二区三区| 成人精品视频| 家庭乱伦网站国产| 99国产精品久久久在线播放| 国产精品美女在线一区| 色在线69堂| 99热精品免费| 精品国产乱码久久久久久日本公司| 国产熟女无套内射| 91麻豆天美国产欧美| 99AV| 天天影视综合网欧美精品| 天天伊人| 一本大道综合伊人精品热热| 777奇米影视777四色| 在线播放中文字幕| 天天日老熟妇| 一区二区三区成人高清视频| 97国产|免费| 高树玛利亚无码流出| 国产精品内射婷婷一级二| 国产美脚女优尤物在线观看| 18禁网站在线播放| 久久久999国产精品| 欧美91在线+|+欧美| 开心五月婷婷激情| 日日操免费视频| 97久久超碰日韩精品| 亚洲91少妇| 日韩成人在线性爱视频| 香港日本韩国人妇99www.wccm20| 加勒比久久综合网高清| 国产精品高潮呻吟av久久4虎| 亚洲日韩狠狠撸视频| 鸥美极品| AV丝袜少妇| 色情五月综合婷婷| 国产探花精品在线| 国产强奸AV在线| 欧州91高潮| 9九九国产| A一级色女|