精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Chrome渲染優(yōu)化:層模型

開發(fā) 前端
近幾年,現(xiàn)代瀏覽器利用圖形卡對頁面渲染方式進行了改進:這種改進一般都籠統(tǒng)地稱為“硬件加速”。當談及普通Web頁面(也即:非Canvas2D或者WebGL頁面)時,硬件加速這個詞到底意味著什么?本文將對作為Chrome中硬件加速下Web頁面渲染基礎的基本模型進行說明。

引言

對于大多數(shù)Web開發(fā)者而言,Web頁面的基本模型就是DOM模型。頁面的渲染過程常常并不為人所知,大家只是知道它是一個將頁面的DOM表示方式轉(zhuǎn)化為在屏幕上顯示的一個圖片的過程。近幾年,現(xiàn)代瀏覽器利用圖形卡對頁面渲染方式進行了改進:這種改進一般都籠統(tǒng)地稱為“硬件加速”。當談及普通Web頁面(也即:非Canvas2D或者WebGL頁面)時,硬件加速這個詞到底意味著什么?本文將對作為Chrome中硬件加速下Web頁面渲染基礎的基本模型進行說明。

冗長的注意事項

我們在這里討論的是WebKit,更具體地講,我們討論的是Chromium下的WebKit。 本文所涉及的是Chrome的實現(xiàn)細節(jié),而不是Web平臺的特性。Web平臺及其標準并沒有對這個層次的實現(xiàn)細節(jié)做出詳細的規(guī)定,所以我們并不能保證本文中的內(nèi)容可以適用于其它的瀏覽器,但是對瀏覽器內(nèi)部工作機理的了解定會有益于對應用進行高水平的錯誤調(diào)試和性能調(diào)優(yōu)。

另外還要主意,整個這篇文章討論的都是Chrome渲染架構(gòu)中的一個核心部分,但這個結(jié)構(gòu)仍在迅速變化之中。本文試圖僅僅涉及那些不太可能發(fā)生變化的部分,但要是在6個月后再看這篇文章,那可就不一定是什么情況了。

很重要的是要明白Chrome當下有段時間還會有兩個不同的渲染途徑:硬件加速式的渲染和早期軟件式的渲染。直到寫這篇文章之時為止,在Windows、 ChromeOS和Android下的Chrome中,所有的頁面都走的是硬件加速途徑。在Mac和Linux下, 只有那些部分內(nèi)容需要組合的頁面才會走硬件加速途徑(更多關于什么才需要組合的說明請參見下文),但用不了多久,所有頁面將都會走硬件加速途徑。

最后要說的是,我們在這里的內(nèi)容只是對Chrome的渲染引擎的管窺之見,所看到的只是其對性能影響比較大的一些特性。當你想要提高你的網(wǎng)站的性能時,對層模型有所了解會非常有幫助作用,但這也容易造成搬起石頭砸自己腳的情況:層這種結(jié)構(gòu)非常有用,但是創(chuàng)建過多的層會造成整個圖形棧開銷的增加。到時候可別說我沒有提前警告過你哦!

從DOM到屏幕

層的引入

頁面一旦在裝入并解析完成后,就會表示為許多Web開發(fā)者所熟悉的結(jié)構(gòu):DOM。然而,在頁面的渲染過程中,瀏覽器還具有一系列并不直接暴露給開發(fā)者的頁面中間表示方式。這些表示方式中最重要的結(jié)構(gòu)就是層。

在Chrome中實際上有幾種不同類型的層:掌管DOM子樹的渲染層(RenderLayer)以及掌管渲染層子樹的圖形層(GraphicsLayer)。 我們這里最關心的是后者,因為作為紋理上傳到GPU之中的就是圖形層。本文自此就只用“層”來指代圖形層了。

稍稍離題說一下同GPU有關的幾個術(shù)語:什么是紋理?紋理可以看作是位圖圖像,從主存儲器(也就是RAM)傳遞到視頻存儲器(也就是GPU之上的 VRAM)之中的就是這個圖像。一旦傳遞到GPU之中后,你就能夠?qū)⒓y理映射到一個網(wǎng)格幾何結(jié)構(gòu)之上 —— 在視頻游戲或者CAD程序中,這種技術(shù)用來給框架式的3D模型添加“皮膚”。Chrome采用紋理把頁面中的內(nèi)容分塊發(fā)送給GPU。紋理能夠以很低的代價映射到不同的位置,而且還能夠以很低的代價通過把它們應用到一個非常簡單的矩形網(wǎng)格中進行變形。這就是3D CSS的實現(xiàn)原理,而且這么做對頁面在屏幕的快速滾動也非常好 —— 現(xiàn)在先說這些,這兩方面更詳細的探討情況下文。

下面讓我們用幾個例子來說明層的概念。

在Chome中研究層時有一個非常有用的工具就是Chrome的開發(fā)者工具里設置(也就是那個小齒輪圖標)中“渲染(rendering)”小標題下的 “顯示層的組合邊界(show composited layer borders)”開關。讓我們把這個開關打開。本文中所有的截屏和例子都來自最新版的Chrome Canary,在寫這篇文章的時候是Chrome 27。

圖1: 只有一層的頁面 (將在新窗口中打開)

  1. <html> 
  2.   <body> 
  3.     <div>I am a strange root.</div> 
  4.   </body> 
  5. </html> 

譯者注:這里缺了一個圖,原文中的圖就看不到,可能是需要翻墻?

在頁面的基本層中組合層的渲染邊界屏幕截圖

這個頁面只有一層。藍色的柵格表示的是分塊,這些分塊可以看作是比層更低一級的單位,Chrome以這些分塊為單位,一次向GPU上傳一個分塊的內(nèi)容。這里它們并不怎么重要。

圖2:有自己的層的元素 (open stand-alone)

  1. <html> 
  2.   <body> 
  3.     <div style="-webkit-transform: rotateY(30deg) rotateX(-30deg); width: 200px;"> 
  4.       I am a strange root.  
  5.     </div> 
  6.   </body> 
  7. </html> 

譯者注:這里缺了一個圖,原文中的圖就看不到,可能是需要翻墻?

旋轉(zhuǎn)后層的渲染邊界的截屏

在<div>上加上讓它旋轉(zhuǎn)一個角度的3D CSS屬性后,我們就能夠看到一個元素有自己的層是個什么樣子:請注意其中的橘色邊界,這個邊界給出了這個視圖中層的輪廓。

層的創(chuàng)建準則

還要其它什么元素會得到自己的層?Chrome在這方面采用的規(guī)則仍在隨著時間推移逐漸發(fā)展變化,但在目前下面這些因素都會引起Chrome創(chuàng)建層:

  • 進行3D或者透視變換的CSS屬性
  • 使用硬件加速視頻解碼的<video>元素
  • 具有3D(WebGL)上下文或者硬件加速的2D上下文的<canvas>元素
  • 組合型插件(即Flash)
  • 具有有CSS透明度動畫或者使用動畫式Webkit變換的元素
  • 具有硬件加速的CSS濾鏡的元素
  • 子元素中存在具有組合層的元素的元素(換句話說,就是存在具有自己的層的子元素的元素)
  • 同級元素中有Z索引比其小的元素,而且該Z索引比較小的元素具有組合層(換句話說就是在組合層之上進行渲染的元素)

實際意義:動畫

我們還可以將層在頁面中到處移動,正好可用于動畫。

圖3: 動畫層(將在新窗口中打開

  1. <html> 
  2. <head> 
  3.     <style type="text/css"> 
  4.     div {  
  5.         -webkit-animation-duration: 5s;  
  6.         -webkit-animation-name: slide;  
  7.         -webkit-animation-iteration-count: infinite;  
  8.         -webkit-animation-direction: alternate;  
  9.         width: 200px;  
  10.         height: 200px;  
  11.         margin: 100px;  
  12.         background-color: gray;  
  13.     }  
  14.     @-webkit-keyframes slide {  
  15.         from {  
  16.             -webkit-transform: rotate(0deg);  
  17.         }  
  18.         to {  
  19.             -webkit-transform: rotate(120deg);  
  20.         }  
  21.     }  
  22.     </style> 
  23. </head> 
  24. <body> 
  25.     <div>I am a strange root.</div> 
  26. </body> 
  27. </html> 

正如前文所述,層在將Web頁面中的靜態(tài)內(nèi)容隨處移動方面真的很有用。在最基本的情況下,Chrome將層中的內(nèi)容繪制到軟件位圖中,然后再將該位圖作為紋理上載到GPU之中。如果層中的內(nèi)容將來不會發(fā)生變化,那就不需要對其進行重繪了。這是個好事:重繪將會占用本可以用于干其它事情,比如運行 JavaScript的時間,而且如果繪制過程太長,動畫還會出現(xiàn)卡頓現(xiàn)象。

例如,可以在Chrome的開發(fā)工具中看一下這個頁面的時間線:但該層在來回旋轉(zhuǎn)的時候,并沒有出現(xiàn)繪制操作。 動畫過程中的開發(fā)者工具時間線屏幕截圖

無效!重繪

但是如果層中的內(nèi)容發(fā)生了改變,它就需要重繪了。

圖4:層的重繪 (將在新窗口打開)

  1. <html> 
  2. <head> 
  3.   <style type="text/css"> 
  4.   div {  
  5.       -webkit-animation-duration: 5s;  
  6.       -webkit-animation-name: slide;  
  7.       -webkit-animation-iteration-count: infinite;  
  8.       -webkit-animation-direction: alternate;  
  9.       width: 200px;  
  10.       height: 200px;  
  11.       margin: 100px;  
  12.       background-color: gray;  
  13.   }  
  14.   @-webkit-keyframes slide {  
  15.       from {  
  16.           -webkit-transform: rotate(0deg);  
  17.       }  
  18.       to {  
  19.           -webkit-transform: rotate(120deg);  
  20.       }  
  21.   }  
  22.   </style> 
  23. </head> 
  24. <body> 
  25.   <div id="foo">I am a strange root.</div> 
  26.   <input id="paint" type="button" onclick="" value=”repaint”> 
  27.   <script> 
  28.     var w = 200;  
  29.     document.getElementById('paint').onclick = function() {  
  30.       document.getElementById('foo').style.width = (w++) + 'px';  
  31.     }  
  32.   </script> 
  33. </body> 
  34. </html> 

每次點擊按鈕后,旋轉(zhuǎn)中的元素的寬度就會增加1px。這將導致頁面重新布局,整個元素都需要重繪,在這個例子中需要重繪的是整個層。

#p#

查看Chrome重繪了哪些元素的一個很好的辦法是使用開發(fā)者工具中的“顯示繪制矩形”開關,這個開關同樣也在開發(fā)者工具設置中的“渲染”標題下。打開該開關后,在點擊按鈕的時候請注意動畫中的元素和按鈕周圍都會有一個紅色的矩形閃現(xiàn)。

Screenshot of show paint rects checkbox

顯示繪制矩形檢查框的屏幕截圖

同時繪制時間也出現(xiàn)在開發(fā)者工具里的時間線中了。明眼的讀者可能還注意到這里有兩個繪制事件:一個是層的,另外一個是按鈕的。按鈕會在它的狀態(tài)變成按下狀態(tài)和從按下狀態(tài)變?yōu)榉前聪聽顟B(tài)時需要進行重繪。

Screenshot of Dev Tools Timeline repainting a layer

開發(fā)者工具時間線中層的重繪的屏幕截圖

請注意Chrome并不總是需要重繪整個層,它會盡量地以聰明的方式只繪制DOM中發(fā)生變化的那部分內(nèi)容。在我們的這個例子中,我們所改變的DOM元素是整個層的尺寸。但是在很多情況下,在一層中會有大量的DOM元素。

很顯然接下來的問題是頁面內(nèi)容失效和強制進行重繪是由什么引起的。要全面回答這個問題并不容易,因為引起強制進行重繪的有大量不太容易區(qū)分的情況。其中最常見的原因是通過操縱CSS樣式或者引起重新進行頁面布局來改變DOM的特性。Tony Gentilcore寫了一篇很不錯的討論引起頁面重新布局的原因的博文,Stoyan Stefanov有一篇更近詳盡地討論瀏覽器繪制過程的文章(但這篇文章僅僅止于繪制過程,并沒有涉及奇特的組合部分的內(nèi)容)。

找出重繪是否影響到了某些你正在關注中的元素的最好方式是使用開發(fā)者工具中的時間線以及“顯示繪制矩形”工具,用這兩個工具能夠看出瀏覽器是否在重繪一些你并不認為需要重繪的內(nèi)容,然后找出就在重新布局/重繪前的那個時刻之前到底是在哪里改變了DOM結(jié)構(gòu)。如果繪制過程無法避免但繪制過程卻長的不太合理,請參考一下Eberhard Gräther的文章,這是一篇關于在開發(fā)者工具中如果對持續(xù)性繪制模式進行性能優(yōu)化的文章。

總結(jié):從DOM到屏幕

Chrome是如何將DOM轉(zhuǎn)換為屏幕上的圖像的呢?從概念上講,它:

  1. 取得DOM并將其分成若干個層
  2. 分布將這些層繪制到各自的軟件位圖中
  3. 將繪制好的位圖作為紋理上載至GPU之中
  4. 將這些不同的層組合起來形成屏幕上最后顯示出的圖像

這些步驟在Chrome第一次產(chǎn)生Web頁面的幀時都需要執(zhí)行。但是在產(chǎn)生隨后的幀時,就可能會走一些捷徑:

  • 如果有某些CSS屬性發(fā)生了改變,就并不一定要重繪所有的內(nèi)容了。Chrome能夠?qū)⒁呀?jīng)作為紋理保存在GPU之中的層重新組合起來,但只是在重新組合時,使用不同的組合屬性(比如,在不同的位置、以不同的透明度來組合等等)。
  • 如果某一層中的某個部分的內(nèi)容變成無效的了,那么該層就需要重繪并在重繪完成后重新上載至GPU中。如果其內(nèi)容仍然不變,只是其組合屬性發(fā)生了變化(比如它的位置或者透明度改變了),Chrome就不會對GPU中該層的位圖做任何處理,只是通過重新進行組合來生成新的幀。

現(xiàn)在大家應該弄清楚了,基于層的組合模型對渲染性能有著非常大的意義。在沒有需要重新繪制的內(nèi)容時,組合的代價相對來說代價更低一些,所以在調(diào)試渲染性能時,避免層的重繪是一個非常好的總體目標。經(jīng)驗老道的開發(fā)者會去看上文提到的組合觸發(fā)的列表,并意識到很可能會非常容易的導致瀏覽器創(chuàng)建很多層。但是,一定要小心無意識地去創(chuàng)建層,因為使用層是有代價的:它們會占用系統(tǒng)RAM以及GPU中的存儲空間(移動設備上的存儲空間特別有限),層太多的話還會在跟蹤哪些從可見哪些層不可見的算法中引入額外的開銷。如果層都很大而且原先不重疊的層突然重疊了起來,那么太多的層就會增加瀏覽器花在柵格化方面的時間,這會導致有時稱之為“過度繪制”的情況。所以,一定要明智地運用你所學到的知識!

暫時先寫到這里了。請你以后再到這里來查看另外幾篇關于層模型實際意義的文章。

其它參考資料

  1. Scrolling Performance
  2. Profiling Long Paint Times with DevTools' Continuous Painting Mode
  3. http://jankfree.com
  4. http://aerotwist.com/blog/on-translate3d-and-layer-creation-hacks/

英文原文:Accelerated Rendering in Chrome - The Layer Model

譯文鏈接:http://www.oschina.net/translate/chrome-accelerated-rendering

責任編輯:林師授 來源: OSCHINA編譯
相關推薦

2017-05-10 14:47:37

Headless Ch頁面 Docker

2023-04-10 11:18:38

前端性能優(yōu)化

2016-12-08 10:57:08

渲染引擎前端優(yōu)化

2023-11-18 19:46:07

GPU架構(gòu)

2022-12-12 09:01:13

2023-03-22 18:31:10

Android頁面優(yōu)化

2015-09-16 13:54:30

Android性能優(yōu)化渲染

2009-07-15 13:48:26

Swing模型和渲染器

2022-06-06 22:36:55

渲染性能CSS

2016-08-12 10:23:28

javascriptChrome前端

2018-06-27 08:21:31

前端Web渲染

2009-11-26 10:50:22

2018-01-19 14:39:53

瀏覽器頁面優(yōu)化

2017-04-25 16:20:10

頁面優(yōu)化滾動優(yōu)化

2017-10-09 13:39:26

瀏覽器渲染服務器

2021-05-11 10:03:06

性能優(yōu)化工具Performance

2019-07-16 10:42:02

網(wǎng)絡模型TCP

2019-07-09 13:54:19

網(wǎng)絡模型網(wǎng)絡協(xié)議TCP

2009-11-26 10:51:40

Chrome OS微軟稱IE9

2014-06-17 09:30:14

OSI
點贊
收藏

51CTO技術(shù)棧公眾號

手机精品视频在线观看| 狂野欧美性猛交xxxx| 国产精品18久久久久久vr| 久久视频在线看| 精品国产午夜福利在线观看| 黄色成人在线观看| 青娱乐精品视频在线| 中文字幕精品在线| 91欧美一区二区三区| 最新黄网在线观看| 99视频有精品| 91精品国产高清久久久久久久久 | 蜜桃传媒一区二区亚洲| 99久久精品一区二区成人| ●精品国产综合乱码久久久久| 日韩色视频在线观看| 天天干天天色天天爽| 国产成人手机在线| 日韩精品视频网| 久久久av网站| aaaaa级少妇高潮大片免费看| 日本韩国欧美| 国产精品区一区二区三| 国产二区一区| 中文字幕视频二区| 亚洲高清久久| 日韩视频免费观看| 亚洲综合网在线观看| 又骚又黄的视频| 午夜激情久久| 亚洲成人在线网| 亚洲黄色av网址| 丁香花视频在线观看| 国产日韩精品一区二区三区在线| 99久热re在线精品996热视频| 麻豆精品久久久久久久99蜜桃| 亚洲电影在线一区二区三区| 亚洲欧美国产制服动漫| 少妇极品熟妇人妻无码| 99久久婷婷国产综合精品首页| 亚洲aⅴ怡春院| 欧美精品中文字幕一区二区| www.国产免费| 久久99深爱久久99精品| 国内精久久久久久久久久人| 多男操一女视频| 久久93精品国产91久久综合| 日韩精品一区二区三区蜜臀 | 国产三级在线免费观看| 高清在线成人网| 成人有码在线视频| 欧美人一级淫片a免费播放| 激情欧美一区| 欧美日本啪啪无遮挡网站| 男人的天堂av网| 九九久久成人| 日韩精品在线电影| 人妻换人妻a片爽麻豆| 久久久久久久久成人| 欧美色综合天天久久综合精品| 日本一区二区黄色| 色吧亚洲日本| 精品久久久久久国产91| 男人添女荫道口图片| 日本aa在线| 一个色综合网站| 日本老太婆做爰视频| 国产日产一区二区三区| 中文字幕亚洲欧美在线不卡| 日韩高清国产一区在线观看| 天天色综合久久| 波多野结衣中文字幕一区| 成人在线看片| 国产精品久久久午夜夜伦鲁鲁| 麻豆极品一区二区三区| 国产欧美精品一区二区三区-老狼 国产欧美精品一区二区三区介绍 国产欧美精品一区二区 | 国产精品成人播放| 午夜视频网站在线观看| 日韩激情一二三区| 国产狼人综合免费视频| 国产精品久久综合青草亚洲AV| 久久精品99久久久| 成人福利视频在线观看| 99精品久久久久久中文字幕| 日本sm残虐另类| 国产美女扒开尿口久久久| 中文字幕av久久爽| 国内一区二区在线| 97视频中文字幕| 99草在线视频| 成人精品国产免费网站| 精品国产乱码一区二区三区四区 | www.欧美.com| 久久伊人一区二区| 91这里只有精品| 国产农村妇女毛片精品久久麻豆| 亚洲成人午夜在线| 尤物yw193can在线观看| 亚洲国产欧美在线| 超碰网在线观看| 欧美黑人巨大xxxxx| 91福利精品视频| 九九九九九国产| 激情av综合| 伊人久久久久久久久久| 色欲人妻综合网| 一区二区三区四区五区精品视频| 97精品视频在线播放| 国产又粗又猛又黄视频| 久久精品女人| 99国产视频| 午夜在线观看视频18| 国产精品无人区| 韩日视频在线观看| 欧美日韩女优| 精品福利一区二区三区免费视频| 亚洲色成人网站www永久四虎 | 人妻激情另类乱人伦人妻 | 国产精品pans私拍| a天堂在线观看视频| 久久午夜电影网| 九一免费在线观看| 亚洲成人av观看| 精品国产91乱码一区二区三区| 精品无码在线观看| 极品中文字幕一区| 91精品视频专区| 国产永久免费高清在线观看 | 九色porny自拍视频在线播放| 欧美三级在线播放| 在线观看免费视频黄| 91亚洲国产成人久久精品| 88xx成人精品| 精品人妻午夜一区二区三区四区| 国产午夜三级一区二区三| 992tv快乐视频| 国产私拍福利精品视频二区| 精品国产不卡一区二区三区| 波多野结衣家庭教师在线观看| 99精品国产福利在线观看免费 | 中文字幕在线看片| 日韩精品资源二区在线| 亚洲少妇xxx| 久久综合中文| 国产超碰91| 超碰在线网址| 欧美精品免费视频| 亚洲精品视频网址| 久久天堂成人| 久久免费99精品久久久久久| 678在线观看视频| 日韩欧美中文字幕精品| 国产精品免费人成网站酒店| 日本成人在线一区| 日本一区二区三不卡| 国产三线在线| 精品福利av导航| 久久久夜色精品| 国产激情视频一区二区三区欧美 | 日本韩国欧美国产| 波多野结衣av在线观看| 国产成人拍精品视频午夜网站| 无码久久精品国产亚洲av影片| 久久久久亚洲综合| 可以在线看的黄色网址| 国产亚洲一区二区三区啪| 国产精品精品久久久| 国产youjizz在线| 欧美偷拍一区二区| 国产精品99久久久久久成人| 国产精品中文欧美| 黄色一级视频在线播放| 亚洲传媒在线| 国产精品永久免费观看| a黄色片在线观看| 精品国产第一区二区三区观看体验| 亚洲一区欧美在线| 国产亚洲欧美色| 亚洲精品久久久久久宅男| 欧美大片一区| 精品在线一区| 日本中文字幕视频一区| 精品中文字幕在线观看| 视频在线观看你懂的| 欧美在线免费观看亚洲| 国产女人被狂躁到高潮小说| 99久久国产综合精品麻豆| 国产精品乱码久久久久| 一区二区三区毛片免费| 国内精品国语自产拍在线观看| 韩国成人漫画| 欧美成人免费播放| 婷婷婷国产在线视频| 欧美日韩性生活| 精品一区免费观看| 欧美国产1区2区| www.555国产精品免费| 视频一区欧美精品| 肉大捧一出免费观看网站在线播放| 天天操综合520| 91热福利电影| 成人va天堂| 欧美成人精品在线视频| 狠狠v欧美ⅴ日韩v亚洲v大胸 | 午夜精品一区二区三| 色老汉一区二区三区| 青春草免费视频| 国产精品三级视频| 亚洲av无码一区二区三区网址 | 欧美色图亚洲激情| 国产一区999| 国产自偷自偷免费一区| 亚洲精品激情| 黄色网络在线观看| av中字幕久久| 久久另类ts人妖一区二区| 亚洲精品v亚洲精品v日韩精品| 国产成人91久久精品| 1区2区在线| 美女福利视频一区| 91激情在线| 亚洲网在线观看| 午夜小视频免费| 精品国产麻豆免费人成网站| 国产精品无码久久久久成人app| 色偷偷久久人人79超碰人人澡| 麻豆亚洲av熟女国产一区二| 一区精品在线播放| 少妇视频在线播放| 国产亚洲一区二区三区四区| 亚洲最大的黄色网| 成人一区在线看| 欧美性猛交乱大交| 韩国三级在线一区| 欧美性受xxxxxx黑人xyx性爽| 日本大胆欧美人术艺术动态| 黄色av免费在线播放| 亚洲一区激情| a在线视频观看| 一本久道久久综合婷婷鲸鱼| 亚洲色成人www永久在线观看 | 丁香六月天婷婷| 日韩美一区二区三区| 亚洲av综合色区无码一区爱av| 欧美一级片在线| 性欧美videos另类hd| 日韩一区二区电影在线| 国产av一区二区三区精品| 91精品黄色片免费大全| 一级黄色片在线| 欧美影院一区二区三区| 丰满人妻一区二区三区四区| 欧美日韩免费视频| 一卡二卡三卡在线| 日韩欧美黄色影院| 你懂的网站在线| 日韩av在线免费观看| 欧洲亚洲在线| 亚洲午夜av电影| 91社区在线高清| 久久深夜福利免费观看| 日韩经典av| 91chinesevideo永久地址| 欧美sm一区| 国产精品九九九| 自拍偷拍亚洲| 国产高清自拍一区| 亚洲福利天堂| 在线观看成人一级片| 欧美日一区二区在线观看 | 影音先锋亚洲天堂| 色婷婷亚洲综合| 国产又粗又猛又爽又黄的视频一| 日韩女优av电影在线观看| 性感美女福利视频| 在线免费观看羞羞视频一区二区| 麻豆影院在线观看| 久久久久久久久久国产| 欧美成人a交片免费看| 成人免费视频a| 国产精品毛片av| 亚洲激情图片| 欧美三级午夜理伦三级中文幕| 老太脱裤让老头玩ⅹxxxx| 日韩精品成人一区二区三区| 亚洲五月激情网| 91蝌蚪porny九色| xxxx日本少妇| 色婷婷激情综合| 成人高潮片免费视频| 国产午夜精品视频| 日本片在线看| 国产精品久久久久久久一区探花 | 精品视频一区在线| 日韩中字在线| 131美女爱做视频| 久久国产精品色| 麻豆精品国产传媒av| 国产精品亲子乱子伦xxxx裸| 日韩精品一区三区| 91.com视频| www 日韩| 4p变态网欧美系列| 国产精久久一区二区| 免费电影一区| 亚洲视频精品| 拔插拔插华人永久免费| 久久久久一区二区三区四区| 男女免费视频网站| 欧美视频三区在线播放| 婷婷开心激情网| 欧美日本国产在线| 中文字幕综合| 神马影院午夜我不卡| 中文精品视频| 麻豆免费在线观看视频| 国产精品久久777777| 国产视频1区2区| 精品偷拍各种wc美女嘘嘘| 黄色成人在线网| 91最新国产视频| 欧美成人激情| 日韩一级免费片| 久久精品一区八戒影视| 91浏览器在线观看| 欧美精品一区二区蜜臀亚洲| www红色一片_亚洲成a人片在线观看_| 国产精品1234| 免费电影一区二区三区| 春日野结衣av| 成人91在线观看| 日本三级网站在线观看| 日韩情涩欧美日韩视频| 国产黄色小视频在线| 国产日韩欧美中文在线播放| 欧美肉体xxxx裸体137大胆| 午夜精品久久久内射近拍高清| 成人精品免费网站| 欧美黑人精品一区二区不卡| 91精品国产美女浴室洗澡无遮挡| 在线视频二区| 国产欧美一区二区三区在线| 久久国产影院| 色啦啦av综合| 最近中文字幕一区二区三区| 国产又粗又黄视频| 日韩亚洲在线观看| 四虎成人精品一区二区免费网站| 亚洲免费不卡| 久久精品国产久精国产爱| 最新日韩免费视频| 欧美军同video69gay| 黄色网页在线免费观看| 91精品在线观| 午夜精品亚洲| 国产a级黄色片| 欧美日韩国产中字| 九色在线观看视频| 国产精品视频公开费视频| 99视频精品全国免费| 美女被艹视频网站| 午夜精品久久久久久久久| 天天射天天色天天干| 欧美最顶级的aⅴ艳星| 激情五月综合| 国产日韩欧美久久| 亚洲欧洲中文日韩久久av乱码| 亚洲国产精品久久久久爰性色| 国模吧一区二区三区| 一呦二呦三呦国产精品| 亚洲精品久久久中文字幕| 亚洲精品高清在线| 日本免费一区视频| 国产经典一区二区| 五月天久久网站| 亚洲av熟女高潮一区二区| 日韩欧美精品免费在线| 在线免费观看黄色| caoporen国产精品| 久久国产66| 秋霞欧美一区二区三区视频免费| 精品精品国产高清一毛片一天堂| 日本不卡1234视频| 一区视频二区视频| 成人免费毛片高清视频| 国产午夜无码视频在线观看| 久久影视电视剧免费网站清宫辞电视| www国产精品| 男人添女人下面免费视频| 洋洋成人永久网站入口| 久久精品蜜桃| 国产精品.com| 免费美女久久99| 日本网站在线播放| 久久精品亚洲精品| 日本三级久久| 中文字幕avav| 欧美日韩精品高清| 久草在线中文最新视频| 懂色av粉嫩av蜜臀av|