99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

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

魚眼交互與離屏Canvas:白板局部放大的性能優(yōu)化實(shí)踐

魚眼交互與離屏Canvas:白板局部放大的性能優(yōu)化實(shí)踐 1. 從白板瀏覽痛點(diǎn)聊起MiroFish到底解決什么問題先交代一下背景。前陣子我在一個(gè)遠(yuǎn)程協(xié)作團(tuán)隊(duì)里天天要對著在線白板梳理用戶故事、架構(gòu)圖和技術(shù)方案。白板的好處是無限畫布想法可以隨便鋪開但壞處也藏在這個(gè)“無限”里內(nèi)容一多縮到全局視圖時(shí)所有字都成了螞蟻壓根看不清放大到能看清細(xì)節(jié)時(shí)又只能看到屏幕中間那一小塊旁邊的節(jié)點(diǎn)、連線、便利貼全在視野之外。來回拖拽、縮放一天下來手腕酸腦子也暈。后來我干脆做了一個(gè)小工具名字就叫MiroFish。它的核心思路很簡單在鼠標(biāo)停留的位置生成一個(gè)“魚眼放大區(qū)域”不改變白板本身的縮放比例而是在當(dāng)前視圖之上疊一層焦點(diǎn)透鏡效果。光標(biāo)附近的內(nèi)容被平滑放大周圍區(qū)域保留原始大小形成一個(gè)“中間高清、四周漸進(jìn)過渡”的瀏覽模式。這樣你既不用切換縮放級別也不用反復(fù)拖動畫布就可以在保持全局定位感的同時(shí)快速看清細(xì)節(jié)。這個(gè)思路其實(shí)借鑒了圖形學(xué)里的“焦點(diǎn)上下文”交互范式也參考了經(jīng)典的魚眼菜單Fisheye Menu。我在實(shí)際使用中發(fā)現(xiàn)這種交互方式用在在線白板上格外契合——因?yàn)榘装宓暮诵拿芫褪恰叭謱?dǎo)航”和“局部精讀”之間的沖突而魚眼透鏡恰好把這兩個(gè)需求同時(shí)滿足了。MiroFish適合誰我覺得主要是這三類人第一類是經(jīng)常在白板上做架構(gòu)評審、代碼走查的研發(fā)人員需要在整體上下文里反復(fù)查看某塊細(xì)節(jié)第二類是遠(yuǎn)程會議里做視覺引導(dǎo)的主持人希望把鼠標(biāo)當(dāng)作“激光筆”讓參會者順著焦點(diǎn)走第三類是對交互設(shè)計(jì)感興趣的前端開發(fā)者想看看魚眼變形、離屏渲染、事件注入這些技術(shù)點(diǎn)在實(shí)際項(xiàng)目里是怎么落地的。2. 拆解整體設(shè)計(jì)為什么選焦點(diǎn)上下文而不是做另一個(gè)縮放2.1 焦點(diǎn)上下文既要看得清又不能丟掉全局剛開始我想得挺簡單給白板加一個(gè)“局部放大鏡”就是了。但真做起來發(fā)現(xiàn)如果只做一個(gè)圓形放大鏡周圍全部變暗或者被裁掉用戶依然會迷失方向。原因在于人的視覺導(dǎo)航依賴周邊視覺提供的“參照物”你把焦點(diǎn)區(qū)域之外的內(nèi)容全部遮住等于把參照物也拿掉了。所以必須引入焦點(diǎn)上下文FocusContext的設(shè)計(jì)理念。核心原則是細(xì)節(jié)區(qū)域焦點(diǎn)被放大同時(shí)保留周圍場景上下文的完整信息并且兩者之間要有一個(gè)平滑的幾何過渡不能出現(xiàn)突然的斷崖。這樣用戶的眼睛在細(xì)節(jié)和全局之間來回切換時(shí)大腦不需要重新建立空間映射。在MiroFish里我實(shí)現(xiàn)的是“徑向魚眼”效果以光標(biāo)為中心隨著與光標(biāo)的距離增加放大倍率從最大逐漸衰減到1。距離越近變形越明顯距離越遠(yuǎn)畫面越接近原始視圖。整個(gè)屏幕依然是完整視圖只是靠近光標(biāo)的那一塊被“撐開”了。這個(gè)效果比傳統(tǒng)放大鏡更自然因?yàn)樗A袅艘徊糠诌^渡區(qū)域作為視覺緩沖。2.2 三條技術(shù)路線我為什么最后選了離屏CanvasMiroFish本質(zhì)上是一個(gè)運(yùn)行在瀏覽器里的增強(qiáng)腳本要對目標(biāo)白板頁面做視覺注入。我試過三條技術(shù)路線這里把對比列出來方案實(shí)現(xiàn)方式優(yōu)點(diǎn)缺點(diǎn)SVG濾鏡在頁面套一層SVG利用feDisplacementMap做像素偏移聲明式代碼量少性能差濾鏡區(qū)域需要實(shí)時(shí)更新對文本渲染不友好變形效果不好控制CSS transform對光標(biāo)附近的DOM節(jié)點(diǎn)做scale變換性能好支持矢量文本只能對已存在的DOM節(jié)點(diǎn)操作白板的畫布是整塊的無法局部縮放難以做連續(xù)平滑的衰減離屏Canvas截取屏幕內(nèi)容到Canvas做像素級再繪制再蓋回頁面靈活可精確控制每個(gè)像素的偏移兼容性最好性能開銷大需要做區(qū)域更新和緩存優(yōu)化我選離屏Canvas最重要的原因是“可控性”。白板頁面本身多是用Canvas或者WebGL渲染的你無法去修改它的內(nèi)部繪制邏輯只能在外部疊加一層“觀感層”。離屏Canvas可以自己控制采樣邏輯想放大哪里就放大哪里想加什么過渡就加什么過渡。短板是性能要自己扛但通過局部重繪和分層緩存最后能做到在實(shí)際白板頁面上比較流暢的運(yùn)行。2.3 核心框架事件層、計(jì)算層、渲染層分離MiroFish的代碼結(jié)構(gòu)沒有用什么重型框架就是一個(gè)普通的TypeScript模塊。但我把邏輯分成了三層這對后面調(diào)試幫了大忙。第一層是事件層負(fù)責(zé)監(jiān)聽鼠標(biāo)移動、滾動、快捷鍵開關(guān)。事件層需要處理一個(gè)很關(guān)鍵的問題目標(biāo)頁面可能自己也在監(jiān)聽mousemove用來做拖拽、劃選之類的操作。我不能把事件全部劫持掉否則會破壞白板本身的行為。所以我采用的方式是“監(jiān)聽不動點(diǎn)”只監(jiān)聽、不攔截把坐標(biāo)信息傳給計(jì)算層。第二層是計(jì)算層負(fù)責(zé)把鼠標(biāo)坐標(biāo)轉(zhuǎn)換成魚眼變形的參數(shù)包括放大倍率、過渡半徑、變形曲線的計(jì)算結(jié)果。這一層不依賴任何DOM操作純函數(shù)就能跑方便做單元測試。第三層是渲染層負(fù)責(zé)把計(jì)算結(jié)果應(yīng)用到Canvas上包括截圖采樣、繪制變形圖、疊加遮罩、最后掛載到頁面的頂層。渲染層只接收參數(shù)和執(zhí)行繪制不關(guān)心鼠標(biāo)怎么來、參數(shù)怎么算。三層之間用簡單的接口通信模塊替換非常容易。3. 核心算法實(shí)現(xiàn)魚眼變形參數(shù)與繪制代碼3.1 從“像素坐標(biāo)映射”理解魚眼變形魚眼變形的本質(zhì)是對原始圖像做一次“非線性坐標(biāo)重映射”。說得直白一點(diǎn)屏幕上每一個(gè)像素顯示的顏色其實(shí)是從原始圖像中某個(gè)位置采樣而來的。在正常視圖下屏幕坐標(biāo)和原始坐標(biāo)是一一對應(yīng)的魚眼變形下這種對應(yīng)關(guān)系變成了以光標(biāo)為中心的徑向扭曲。什么叫徑向扭曲我舉個(gè)例子。你把一張照片打印出來然后用一個(gè)放大鏡懸停在照片上方放大鏡里的圖像就是扭曲后的結(jié)果。放大鏡的鏡片中心放大倍數(shù)最大鏡片邊緣逐漸恢復(fù)到原始大小。MiroFish做的就是這個(gè)事情只不過不是用物理鏡片而是用算法模擬鏡片效果。在實(shí)現(xiàn)時(shí)我要計(jì)算每個(gè)屏幕像素對應(yīng)到原始圖像中的哪個(gè)位置。假設(shè)屏幕像素坐標(biāo)是p鼠標(biāo)中心坐標(biāo)是c首先計(jì)算p和c之間的方向角度angle atan2(p.y - c.y, p.x - c.x)再計(jì)算歸一化距離r distance / R其中R是過渡半徑。然后通過一個(gè)映射函數(shù)把原始距離r映射成新的距離r再根據(jù)r得到原始圖像采樣坐標(biāo)。映射函數(shù)決定了變形的“性格”。如果直接用線性映射邊緣會出現(xiàn)明顯的折痕我最終用的是一種基于冪函數(shù)的平滑曲線在中心區(qū)域有較高的放大倍率到邊緣逐漸衰減到1并且保證在r0和r1兩端的導(dǎo)數(shù)連續(xù)這樣過渡更柔和。3.2 放大倍率、過渡半徑和平滑曲線怎么定這里涉及三個(gè)關(guān)鍵參數(shù)。第一個(gè)是最大放大倍率。我試過1.5倍、2倍、3倍最后默認(rèn)值定在2倍左右。1.5倍看文字細(xì)節(jié)有點(diǎn)吃力尤其是小號代碼3倍又會讓中心區(qū)域占用太多屏幕空間周圍上下文保留得太少反而影響導(dǎo)航。2倍是一個(gè)比較均衡的值看便利貼上的字、小圖標(biāo)的輪廓基本夠用。第二個(gè)是過渡半徑。它決定了焦點(diǎn)區(qū)域有多大。半徑太小一次能看到的細(xì)節(jié)有限鼠標(biāo)移動起來很累半徑太大周圍幾乎全部被變形覆蓋失去了上下文。我默認(rèn)設(shè)置為屏幕短邊的25%左右。舉個(gè)例子我的屏幕分辨率是1920x1080短邊是1080px那么過渡半徑就是270px。這個(gè)數(shù)值可以根據(jù)屏幕尺寸自動計(jì)算用戶也可以通過配置項(xiàng)手動調(diào)整。第三個(gè)是平滑曲線。單純從中心到邊緣做線性衰減畫面看起來會非常“硬”像戴了度數(shù)不對的眼鏡。我采用的是平滑插值函數(shù)衰減過程分為兩個(gè)階段中央?yún)^(qū)域保持較高倍率迅速過渡到接近1。具體公式可以參考smoothstep變體function fishEyeScale(r: number, maxScale: number): number { // r為歸一化距離范圍[0,1] // 返回值表示該位置的局部縮放比例 const falloff 1 - Math.pow(r, 3); // 曲線在r較小的時(shí)候衰減慢r較大的時(shí)候衰減快 return 1 (maxScale - 1) * falloff; }r的三次方是調(diào)參試出來的。三次方曲線在近中心的區(qū)域下降較慢適合保留大范圍的高倍細(xì)節(jié)到邊緣快速趨向1不會占掉太多視圖。3.3 Canvas離屏繪制的完整流程與關(guān)鍵代碼離屏Canvas繪制的流程說起來并不復(fù)雜分為四步。第一步把目標(biāo)白板頁面當(dāng)前viewport的內(nèi)容截取到一張離屏Canvas里。這里有個(gè)技術(shù)前提如果要截取頁面的實(shí)際內(nèi)容必須依賴瀏覽器的html2canvas之類能力或者利用白板自身暴露的截圖API。但MiroFish定位是可注入腳本不依賴白板接口所以我采用的是“取當(dāng)前屏幕像素”的另類方式創(chuàng)建一個(gè)全屏Canvas然后用CanvasRenderingContext2D的drawWindow或者借助擴(kuò)展API的captureTab。這里為了便于演示我以Chrome擴(kuò)展的方式實(shí)現(xiàn)使用chrome.tabs.captureVisibleTab獲取當(dāng)前tab的截圖然后把截圖Image繪制到離屏Canvas。第二步針對鼠標(biāo)焦點(diǎn)把離屏Canvas作為源圖像對目標(biāo)區(qū)域的每個(gè)像素做魚眼重映射繪制到一個(gè)新的前景Canvas上。但這可不是逐像素drawPixel那樣性能早就崩了。我用的方法是把目標(biāo)區(qū)域分成網(wǎng)格每個(gè)網(wǎng)格單元根據(jù)映射函數(shù)計(jì)算新的位置和大小然后通過drawImage把源圖像的小方塊繪制到新位置。這種方式利用了GPU加速性能遠(yuǎn)好于逐像素操作。核心偽代碼如下function renderFisheye( sourceCanvas: HTMLCanvasElement, targetCanvas: HTMLCanvasElement, center: Point, radius: number, maxScale: number ) { const ctx targetCanvas.getContext(2d); ctx.clearRect(0, 0, targetCanvas.width, targetCanvas.height); // 網(wǎng)格步長步長越小效果越細(xì)膩但性能越差 const step 4; const scale0 1 / maxScale; // 目標(biāo)中心對應(yīng)的源圖采樣縮放起點(diǎn) for (let y center.y - radius; y center.y radius; y step) { for (let x center.x - radius; x center.x radius; x step) { const dx x - center.x; const dy y - center.y; const dist Math.sqrt(dx * dx dy * dy); if (dist radius) continue; const r dist / radius; // 當(dāng)前目標(biāo)像素對應(yīng)的源圖縮放比例 const localScale fishEyeScale(r, maxScale); // 目標(biāo)的矩形網(wǎng)格尺寸 const targetW step * localScale; const targetH step * localScale; // 對應(yīng)的源圖像區(qū)域注意這里需要按比例反向計(jì)算 const srcW step / localScale; const srcH step / localScale; const srcX x - srcW / 2; const srcY y - srcH / 2; ctx.drawImage( sourceCanvas, srcX, srcY, srcW, srcH, x - targetW / 2, y - targetH / 2, targetW, targetH ); } } }這段代碼是MiroFish的核心。理解它就理解了魚眼透鏡的繪制原理。第三步把這個(gè)帶有魚眼效果的前景Canvas掛載到頁面的頂層。注意前景Canvas尺寸應(yīng)與屏幕可視區(qū)一致但為了性能不需要透明完整覆蓋可以只創(chuàng)建一個(gè)跟焦點(diǎn)區(qū)域相關(guān)的小Canvas然后把它定位到鼠標(biāo)附近。這樣可以大幅減少重繪面積。做成一個(gè)跟隨鼠標(biāo)的矩形窗口再把矩形窗口內(nèi)部繪制成魚眼效果外面依然是正常視圖。第四步繪制一個(gè)平滑的圓形遮罩或漸變遮罩讓焦點(diǎn)區(qū)域與周圍正常視圖之間的邊界不顯得突兀。我在過渡半徑的最外圍加了一個(gè)半透明的陰影圈既能提示用戶當(dāng)前放大范圍又能掩蓋邊緣的輕微變形。3.4 鼠標(biāo)跟蹤、節(jié)流和坐標(biāo)換算的坑鼠標(biāo)跟蹤的坑比想象中多。首當(dāng)其沖的是坐標(biāo)換算。Chrome擴(kuò)展里captureVisibleTab截到的圖片尺寸跟目標(biāo)頁面的CSS像素不一定相等。如果設(shè)備像素比是2截圖是3840x2160而頁面CSS坐標(biāo)是1920x1080中間差了一倍。如果在繪制時(shí)直接用鼠標(biāo)的clientX作為坐標(biāo)眼睛能看到的地方和手指指的地方就會錯(cuò)位一大截。解決方式是在截圖之后記錄一下當(dāng)前截圖圖片的寬度和頁面顯示的寬度計(jì)算一個(gè)scaleRatio imageWidth / window.innerWidth然后把所有的鼠標(biāo)坐標(biāo)都乘上這個(gè)比例再參與計(jì)算。繪制到屏幕上的前景Canvas時(shí)再把坐標(biāo)除以這個(gè)比例還原回來。這步一漏光標(biāo)跑偏是必然的。其次是節(jié)流。mousemove事件觸發(fā)頻率非常高一秒鐘可以觸發(fā)幾十次甚至上百次。每次觸發(fā)都去做截圖和重繪性能再好的機(jī)器也扛不住。我采用的方式是requestAnimationFrame配合“臟標(biāo)記”機(jī)制鼠標(biāo)事件只更新一個(gè)坐標(biāo)標(biāo)記渲染循環(huán)里判斷如果標(biāo)記變化了才重新繪制。這樣繪制頻率被限制在屏幕刷新率以內(nèi)通常就是60fps。4. 性能調(diào)優(yōu)與兼容性處理4.1 從卡成幻燈片到60fps區(qū)域更新和緩存第一版MiroFish跑起來以后我的第一反應(yīng)是“這也能叫工具”。鼠標(biāo)只要一動整個(gè)屏幕都跟著卡風(fēng)扇呼呼轉(zhuǎn)CPU占用直接拉滿。后來定位到問題所在我當(dāng)時(shí)是在整個(gè)屏幕Canvas上做逐網(wǎng)格重繪屏幕是1920x1080網(wǎng)格步長4px意味著每一幀要跑約13萬個(gè)循環(huán)每次循環(huán)還有若干次drawImage調(diào)用這個(gè)計(jì)算量實(shí)在太大。后來我做了兩個(gè)優(yōu)化。第一個(gè)優(yōu)化是只重繪焦點(diǎn)周圍的局部區(qū)域。魚眼效果只發(fā)生在以鼠標(biāo)為中心、半徑R的圓形范圍內(nèi)圓外完全不變。所以我新建了一個(gè)尺寸等于“半徑R乘以2”的局部窗口Canvas渲染時(shí)只處理這個(gè)局部區(qū)域然后把它定位到鼠標(biāo)位置。這樣每幀處理的像素面積大約只占全屏的20%左右計(jì)算量瞬間降了下來。第二個(gè)優(yōu)化是源圖緩存。每次鼠標(biāo)移動不需要重新截屏因?yàn)榘装鍍?nèi)容沒有變化只需要繼續(xù)使用上一幀的源Canvas作為采樣來源。只有用戶滾動、縮放白板或者白板內(nèi)容本身更新時(shí)才需要重新截屏。為此我維護(hù)了一個(gè)“截圖版本號”只要白板畫布區(qū)域發(fā)生變化通過監(jiān)聽滾動、鍵盤、點(diǎn)擊等事件就把版本號加一渲染循環(huán)檢測到版本號變化后再刷新源圖像。經(jīng)過這兩步優(yōu)化MiroFish在實(shí)際白板頁面上的表現(xiàn)基本穩(wěn)定在50到60fps。要說完全不掉幀也不可能畢竟截圖和采樣本身有開銷但至少從“沒法用”變成了“能日常用”。4.2 邊界陰影與漸變遮罩讓過渡更自然魚眼透鏡不只是把圖像放大就完事了。如果你直接把圓形區(qū)域內(nèi)的變形圖像蓋在正常視圖上邊緣會有一圈很明顯的“剪切感”。特別是當(dāng)你放大白板里的卡片時(shí)卡片邊緣的線條會在圓邊界處突然斷掉看著非常難受。我后來加了一層徑向漸變遮罩。具體做法是在渲染完成之后用Canvas畫一個(gè)從透明到半透明的徑向漸變覆蓋在焦點(diǎn)區(qū)域的外圈。這個(gè)遮罩不會遮蓋中心內(nèi)容只是在邊緣制造出大約20到30像素寬的柔和衰減。這樣做之后用戶看到的就不是一個(gè)硬邦邦的圓形放大鏡而是一團(tuán)柔和的視覺焦點(diǎn)。除此之外我還加了一條很細(xì)的高亮描邊在焦點(diǎn)區(qū)域外圍勾勒出一個(gè)淡淡的圓環(huán)。這個(gè)圓環(huán)有兩個(gè)作用一是提示用戶當(dāng)前放大的邊界在哪里避免鼠標(biāo)移到哪都要仔細(xì)辨認(rèn)二是給畫面一個(gè)視覺落腳點(diǎn)讓眼睛能快速定位焦點(diǎn)。實(shí)測下來這條描邊讓焦點(diǎn)區(qū)域的感知清晰度提升了很多。4.3 頁面縮放、白板快捷鍵沖突的處理兼容性方面我踩了不少坑。第一個(gè)坑是瀏覽器頁面縮放。用戶用Ctrl加滾輪把頁面縮放到90%或者125%坐標(biāo)換算又要亂套。我的處理方式是在每次截圖時(shí)讀取window.devicePixelRatio和頁面縮放比例統(tǒng)一換算成“邏輯像素坐標(biāo)”參與計(jì)算渲染時(shí)再按比例縮放。第二個(gè)坑是白板自身的快捷鍵。在白板上空格加拖拽是平移Shift加滾輪是橫向滾動Ctrl加滾輪是縮放。MiroFish在捕獲鼠標(biāo)位置時(shí)不能攔截這些事件否則會破壞白板的原有交互。所以我在事件層只做passive監(jiān)聽不調(diào)用preventDefault。用戶依然可以使用空格平移Ctrl加滾輪縮放MiroFish只是被動地跟隨鼠標(biāo)位置更新焦點(diǎn)。只有當(dāng)用戶按下我們定義的自定義快捷鍵時(shí)比如雙擊鼠標(biāo)中鍵才臨時(shí)鎖定透鏡效果方便用戶在不觸發(fā)放大的情況下進(jìn)行精細(xì)拖拽。5. 常見問題與排查技巧5.1 放大區(qū)邊緣出現(xiàn)“割裂感”很多第一次跑起來的朋友反饋焦點(diǎn)區(qū)域的邊緣會看到明顯的內(nèi)容錯(cuò)位或線條斷裂。這個(gè)問題絕大多數(shù)情況下不是算法錯(cuò)了而是網(wǎng)格步長太大。當(dāng)網(wǎng)格步長設(shè)置為8px甚至10px時(shí)圖像被分成一塊塊小方塊每塊內(nèi)部的繪制位置都是按中心點(diǎn)計(jì)算的邊緣自然會出現(xiàn)鋸齒和錯(cuò)位。解決方法是調(diào)小網(wǎng)格步長通常設(shè)為2到4像素。步長越小變形越平滑但性能開銷越大。如果步長已經(jīng)調(diào)到2邊緣還是割裂那就要檢查是不是縮放比例沒算對。焦點(diǎn)區(qū)域內(nèi)的坐標(biāo)在“截圖坐標(biāo)”和“頁面坐標(biāo)”之間換算不正確會導(dǎo)致源圖像塊的位置整體偏移邊緣出現(xiàn)類似重影的效果??梢耘R時(shí)在調(diào)試模式下繪制網(wǎng)格邊界確認(rèn)采樣位置是否正確。5.2 光標(biāo)位置和放大內(nèi)容錯(cuò)位這是最容易讓人崩潰的問題。鼠標(biāo)指著一個(gè)節(jié)點(diǎn)放大區(qū)域里顯示的是旁邊另一個(gè)節(jié)點(diǎn)。我在開發(fā)時(shí)也遇到過一次排查了半天才發(fā)現(xiàn)是因?yàn)榻貓D時(shí)機(jī)不對。captureVisibleTab返回的是異步結(jié)果如果你在鼠標(biāo)剛移動時(shí)就發(fā)起截圖截圖圖像可能還是上一幀的畫面這時(shí)候用它來采樣新坐標(biāo)和舊畫面就會產(chǎn)生偏差。我建議的做法是每次截圖完成后給截圖對象打一個(gè)時(shí)間戳。渲染時(shí)只有當(dāng)截圖完成時(shí)間晚于當(dāng)前鼠標(biāo)坐標(biāo)更新時(shí)間時(shí)才用最新的坐標(biāo)做采樣否則繼續(xù)使用上一幀的渲染結(jié)果。簡單說就是“慢一步”比“錯(cuò)一路”好。鼠標(biāo)坐標(biāo)更新很快截圖慢一點(diǎn)沒關(guān)系只要保證坐標(biāo)和截圖在時(shí)間上基本對應(yīng)視覺上就不會有太大的錯(cuò)位感。5.3 在某些白板上不生效或掉幀MiroFish最開始的版本只在Miro上測試后來我試著用于其他類似的白板工具發(fā)現(xiàn)有些頁面根本截不到圖或者截圖是一張純白圖。原因是部分白板使用WebGL渲染頁面內(nèi)容并不在普通的DOM層里而是通過GPU繪制到canvas上。普通的截屏API拿到的不一定是實(shí)際內(nèi)容。這種情況只能針對具體白板做一些適配。如果白板自己有截圖導(dǎo)出接口可以在腳本里調(diào)用它的接口獲取畫布內(nèi)容然后作為源圖像。如果沒有可以嘗試把渲染層的Canvas設(shè)置成透明并利用瀏覽器擴(kuò)展的debugger協(xié)議直接抓取GPU合成后的幀緩沖但是這會犧牲通用性。目前MiroFish對基于Canvas 2D渲染的白板兼容最好對WebGL渲染的白板需要單獨(dú)處理。6. 做這個(gè)項(xiàng)目的幾點(diǎn)心得MiroFish這個(gè)項(xiàng)目從想法到能日常使用斷斷續(xù)續(xù)花了我兩個(gè)多星期的業(yè)余時(shí)間?;仡^看最大的收獲不是實(shí)現(xiàn)了魚眼效果而是我學(xué)會了一件事做交互增強(qiáng)工具一定要克制。很多人在看到魚眼效果的第一反應(yīng)是“能不能讓整個(gè)屏幕都變成魚眼”、“能不能自定義每個(gè)區(qū)域的放大倍率”但我最終都拒絕了這些想法。MiroFish的意義在于“在合適的位置提供一個(gè)短暫的放大細(xì)節(jié)”而不是改變整個(gè)白板的視覺形態(tài)。過度的變形反而會讓人覺得頭暈。還有一點(diǎn)心得是關(guān)于性能的。瀏覽器端做這種像素級操作永遠(yuǎn)要把“減少繪制面積”放在第一位。想盡辦法減少每幀處理的像素?cái)?shù)量比單純優(yōu)化單個(gè)像素的計(jì)算快上百倍。MiroFish最后能做到可用靠的不是什么高深的圖像算法而是老老實(shí)實(shí)地把局部重繪、緩存、臟標(biāo)記這些基本功做到位。最后再分享一個(gè)小技巧如果你也想做類似的屏幕增強(qiáng)工具建議先手動模擬一遍用戶操作找到用戶最頻繁的交互路徑再決定要把哪一塊做成視覺增強(qiáng)。很多人上來就追求高精尖的視覺效果卻忽略了用戶真正需要的是“一眼看清遠(yuǎn)方的細(xì)節(jié)”這個(gè)樸素需求。MiroFish的定位就是一個(gè)安靜的小工具不搶風(fēng)頭但能讓你在密密麻麻的白板上少花一半時(shí)間去尋找。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
欧美日本另类| 久久探花91swag| 色综合久久88色综合中文字幕| 色天使色综合| 九九这里都是精品| 天天爽天天干| 安息电影在线观看完整版| 天天久久婷婷| 黄色视频网站在线播放| 色婷婷九月| 日日爽日日| www.五月天婷婷.com| 天堂在线观看视频| 无码人妻AV久久久一区二区三区| 五月天激情图片| 天天橾日日橾夜夜橾17| 2014天天爽| 天天操天天插天天射| 亚洲黄色影视| 丁香五月先锋| 另类激情首页| 六月狠狠综合| 99热这里只有精品13| www.五月婷婷.com| 九九热婷婷| 风流少妇A片一区二区蜜桃| 丁香综合婷婷五月天| 激情黄色五月天| 在线观看亚洲视频影院| 国产精品国产| 久久加勒比| 成人无码精品1区2区3区免费看 | 99色婷婷视频| 大香蕉婷婷丁香天堂AV| 九九久热| 九热视频| 色婷婷五月天激情在线观看| 色五月婷婷影院| 婷婷激情综合色五月久久,色婷婷丁香花,丁香婷婷五月情天,久久婷婷五月综合色 | 亚洲情欲| 亚洲热视频在线| 日婷婷久久开心| 天天干天天日日| 欧美 日韩 成人 在线| 国产肥白大熟妇BBBB视频| 日本一毛片| 九热视频| 色婷婷五月天激情在线观看| 天天操天天曰| 开心激情综合| 超碰在线精品| 99热这里有精品| 久久9精品| 国産精品| 天天插天天爽| 欧美交换配乱吟粗大25P| 97五月天| 国产成人精品一区二三区熟女在线| 五月开心激情| 九九成人| 日韩不卡123| 三人荫蒂添的好舒服A片| 婷婷亚洲综合| 波多婷婷久久| 99热在线爱| 超碰永久在线| 99精品在线观看视频| 91疯狂操操操操| 9伊人网| 久久婷婷五月综合一| 9色免费网| 嫩草视频| 成人AV中文字幕| 97色女人在线| 国产色丁香| 天天射美女| 九九99精品| 久久婷色| 婷婷六月天精品| 亚洲 在线 性爱 | 色五月天婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷 | 五月婷婷综合激情| 人人草人| 午夜激情综合| 国产精品涩涩涩视频网站| 亚洲成人免费在线| 丁香五月影| 99热xx| 奇米四色五月天| 五月天另类图片区99| 玖玖色资源| 伊人久久婷| 大香蕉久| 亚洲久热无码| 99操碰| 九九碰九九爱97| 丰满少妇猛烈A片免费看观看| 国产性av| 欧美日本黄色| 色婷婷五月天在线| 色婷婷操逼| 99在线精品视频| 丁香婷婷成年| 四虎成人精品永久免费AV九九| 噜噜色五月| 五月天开心婷婷久久| 亚洲VA在线| 五月丁香综合| 最近中文字幕2019视频1| 久久婷婷五月综合网| 成人在线高清| 五月色欧美| 狠狠做深爱婷婷久久综合一区| 男人天堂99| 97久久超碰| 香蕉婷婷五月| 精品五月视频婷婷在线观看| 五月天俺去也| 亚洲激情AV| 99久久超级| 婷婷五月电影| 丁香婷婷视频一区二区| 99久久99九九99九九九| 啪啪六月婷婷| 成人综合伍月天| 久月婷婷| 99在线视频女女视频| 婷婷丁香社区网| WWW.99热| 全部老头和老太XXXXX| 久久性爱激情| 三级大香蕉网| 天天干,天天日| 91|九色|动漫| 亚洲视频伍月婷婷| 荫道BBWBBB高潮潮喷| 九九超碰人人| 婷婷色色欧美| 综合在线观看99| 色婷婷电影| 久久五月天色| 百度一下国产精品A| 99在线观看视频| 六月婷婷激情小说网| 在线视频另类| 中文字幕丰满人妻无码专区| 99乱视频| 中文字幕精品推荐免费在线观| 丁香五月天导航| 九九这里都是精品| 婷婷丁香五月社区亚洲| 九九热视频免费观看| 久热9| 婷婷激情四射五月天| 伊人婷婷激情| 色噜噜狠狠色综无码久久合欧美| 深爱女色婷婷丁香五月亚洲图区| 99在线观看| 五月丁香婷婷啪啪网| 丁香五月激情六月综合| 免费视频WWW在线观看网站| 超碰国产av| 婷婷五月骚厕所| 婷婷午夜激情| 婷婷不卡基地| 天天日天天做天天操| 丁香五月婷婷网| 九九热re99re6在线精品| 色婷婷丁香五月天激情综合网| 人人摸人人摸| 先锋五月婷婷丁香草草| 五月丁香综合啪啪| 91精品久久久久久77777| 亚洲无码色色| 九九热99视频在线| 欧美97色| 丁香5月激情网| 综合久久综合久久| 丁香五月色情| 五月天激情小说| 97亚洲色 torrent magnet| 久99视频在线观看| 中文字幕成人| 久久九九综合| 西瓜美女a片| 无码人妻少妇色欲AV一区二区| 五月色情婷婷| 99精品热| www.26uuu.com亚洲电影| 97caop| 九九热只有这里是精品| 色婷婷中文| www,五月丁,com| 亚洲精品无人区| www.狠狠操.com| 99精品国产在热久久| 翔田千里aV中文字幕| 五月色网| 五月丁香婷婷伊人| 先锋资源婷婷| www.激情五月| 五月丁香婷中文| 色视频色综合91| 99re这里只有精品首页| 91丨九色熟女丨首页| 婷婷久月| bbwcuckold精品熟妇| 午夜精品人妻无码一区二区三区 | 99人人操人人操人人精| 99热九九热| 婷婷五月激情热播| 五月天另类小说久久小说网| 久久婷婷啪啪视频| 五月丁香婷婷久久| 日韩美女羞羞网站在线观看| 这里只有精品视频免费在线观看| 久久伊人日日夜夜| 9l视频自拍九色9l视频在线观看| 五月婷婷激情网| 好好干av| 色色丁香五月天| 成片免费观看视频大全| 婷婷五月综合亚洲| 久久视这里只有精品| 国产精品久久久久9999小说 | 少妇性按摩无码中文A片| 涩综合网| 日本在线观看aaa 99| 婷婷丁香六月| 狠狠人妻久久久久久综合丁香| 1级欧美日韩| 五月天婷婷综合| 玖玖在线视频福利| 一区操| 婷婷97碰碰| 国产99精品免费视频| 久9热插入| 激情亚洲婷婷| 亚洲视频a| 久久99网| www.狠狠操| 婷婷五月伦理网站| 婷婷区日本| 色综合香蕉视频| www.操.com| 色天天综合成人网| 色天天综合天天综合频道。| 伊人五月天久久| 日韩色色视频| 色婷婷色99国产综合精品| 丁香婷婷六月激情文学 | 思思 热 99| 亚洲综合激情五月久久| 亚洲AV免费国产电影| 操人91| 天天摸天天舔| 五月婷婷网五月在线| 久久久com| 午夜av网| www.com久久久久久久久久久久久久久久久| XX久久| 激情亚洲五月| 丁香五月激情宗合| 激情婷婷丁香五月天| 国产黄大片在线观看画质优化| 激情爱爱网站| 色色网站在线| 思思久久青草热| 国产超碰在线| 99re热在线视频| 91九色在线观看免费| 一本色道久久88综合日韩精品| 热久久91| 丁香婷婷色色| 婷婷色在线播放| 狠狠va| 91丨九色丨丰满人妖| 97碰 在线视频观看| AV九九| 五月丁香婷婷色色色| 五月丁香激情婷婷综合| 久热这里只有精品99re,久热这里只有精品7 | 婷婷五月色天| 激情五月丁香五月| 9精品在线| 五月天激情国产综合婷婷| 五月色导航| 超碰AV在线| 超碰不卡在线| 成人一级片| 婷婷va| 超碰A V在线| 色综合久久之分久久| 欧美操人| 北京熟妇搡BBBB搡BBBB| 99热免费| .精品久久久麻豆国产精品| 五月丁香激情综合网| 97超碰在线免费观看| 五月婷婷中文字幕| 欧美色频| 97狠狠色| 亚洲激情av| 亚洲综合色婷婷| 六月丁香激情网| 亚洲av网站| 国产在这里只有精品| 99re鈥哸鈥唙| 婷婷在线播放| 伊人久久婷婷| 99婷婷| 伊人久久艹| www.五月天婷婷| 这里只有精品视频免费在线观看| 思思热在线| 狠狠狠狠狠狠狠狠| 亚洲爆乳无码精品AAA片蜜桃| 大香蕉av在线| 亚洲99热| 成人Av在线大片| 91碰在线| 五月婷婷狠天天色综合| 国产日日操夜夜操的肉棒视频| 狠狠色无码| 欧美性色五月天| 色婷婷丁香五月综合| 亚洲激情免费视频观看| 九九自拍网| 99热6这里只有精品| 色婷婷五月天偷拍| 日韩av变天就操逼不卡区| 日本黄色三级片内射| 伊人网色婷婷五月天| 亚洲综合色婷| 在线观看亚洲AV| 国产五月天婷婷| 丁香六月激情综合| 五月天久久www| 五月综合色播播丁香婷婷| 色情五月停停丁香| 26UUU欧美| 免费观看全黄做爰的视频| 5月丁香综合图区| 婷婷色色丁香| 色五月丁香总合网| 久久99热这里只有精品| 色中色综合| 国外亚洲成AV人片在线观看| 日本A片一区| 六月婷婷久久| 色情激情五月| 欧美 日韩 成人在线| 开心激情婷婷| 一婬一伦一区二区三区| 丁香五月婷婷啪啪| 五月色网| 五月天激情网图片| www综合久久| 啪啪91| 五月婷综合网| 婷婷丁香九月| 五月激香蕉网| 开心五月婷婷五月| 五月久视频| 人人摸人人干| 综合色吧| 开心色播色五月婷婷| 欧美性猛交99久久久99| 日韩成人无码| 久碰久操| 婷婷丁香人妻天天爽| 激情av| 色婷综合| 五月丁香欧美| 激情99| av五月丁香婷婷网| 日韩无码人妻一区二区三区综合 | 婷婷五月天黄色| 五月天婷婷永久免费视频| 五月婷婷丁香综合| 丁香九月综合在线| 婷婷丁香五另类网站| 丁香婷婷婷五月| 日日夜夜天天| 日韩影院三级| 五月丁香六月天| 人妻丰满精品一区二区A片| 狼人婷婷综合| 激情綜合W W W,激情五月天| 亚洲乱码日产精品BD| 琪琪色五月天| 五月开心网| 琪琪色五月婷婷老师| 色999五月色| 色欲一区二区三区精品A片| 五月婷婷大香蕉| 久久香蕉福利| 五月激情小说| 激情久久综合网| 五月天黄色激情小说| 亚洲九九视频| 色性综合| 伊人99热| 婷婷激情综合网| 亚洲精品午夜国产va久久成人| 五月天婷婷久久视频| 九九99在线视频| 日日夜夜爽爽| 黃色三级三级三级三级 qixing300.shrkbk.com www.jinbozs.com tianmiaosw.com | 99在线资源| 九九性视频| 天天色综网| 色色亚洲无码| 欧美韩国日本| www.五月天性.com| 熟女人妻视频| 丁香涩涩五月天| www久久久| 婷婷五月丁香av网站| 九九99免费视频| 欧美人人女女精品综合五月天| 99精品免费欧美小视频| 日噜噜色| 丁XX 成人| 五月停停色| 婷婷五月激情中文字幕| 久久99激情五月天| 久久六月天| 亚洲 成人 电影av在线观看| 99在线观看精品视频| 操b视频在线观看一区二区| 激情WWW| 三年高清大片免费观看国语| 夜夜爽天天日| www.com任你艹| 天天激情欧美美女| 狼人狠狠操| 99在线观看视频| 97人人搞| 丁香六月综合激情| 久月丁香爱婷婷综合| 婷婷色网| 婷婷五月天激情丁香| 9|在线观看视频| 丁香六月五月天| 99草视频在线观看| 99久久综合网| 开心五月激情站| av婷婷六月丁香社区在线观看| 丁香五月激情无码视频| 综合玖玖偷拍| 色色99| 91狠狠综合久久久| 国产日韩精品SUV| 天天色色婷婷| 五月婷婷色色网址| 色色婷| 国产裸舞福利资源在线视频| 久久九九激情五月天 | 久久久久久久久久久久久9| 欧美va亚洲va在线播放| 91 原创 在线 九色| 开心五月婷婷激情| 五月丁香色婷婷基地| www.99精品日操伊人乱碰在线| 精品乱码久久久久| 天天久久人人| 丰滿爆乳一区二区三区| 人人摸人人操人人爽| 九九人妻福利| 成人免费视频一区| 99色视频在线| 五月天综合在线观看| 大香蕉久久草| 九九九九精品精| 亚洲精品永久久久久久| 五月情丁香色| 久七香蕉| 99精彩视频网站在线| 五月丁香六月情| 爱性综合网| www五月婷婷88导航| 久久婷婷五月综合伊人| 天天激情5月天亚洲| 九九99久久精品| 激情九九六月激情免费视频| 五月婷婷 六月丁香| 久久九九re热| 人妻丰满精品一区二区A片| 岛国AV网| 婷婷五月天另类视频| 亚洲国产色婷婷| 深爱五月天| 色色色色色网站| 玖玖在线视频福利| 久久天堂精品| www.97视频| 玖玖爱资源站| 六月丁香激情| 亚洲综合激情五月| 能看的AV网站| 6月丁香婷婷激情| 亚洲综合视频在线| 日韩不卡123| 婷婷激情图片| 日日干日日| 思思久久思思| 久久久色婷婷五月天| 激情国产综合| 五月刺激丁香月综合| 丁香九月激情| 99久久婷| 思思久日精品视频| 全网最新网黄大秀直播高清,主播国产录屏在线| 国模九区| 四川女人毛多水多A片| 成人网站在线观看视频| 狠狠五月天| 大香蕉院线| 色五月天天在线观看资源站| 久xxxx| 丁香五月婷婷色综合| 人妻久久久久久久| 人妻人人操| 99干视频| 色婷婷操逼| 国产avapp 网| 97碰碰在线看视频免费| 性高潮久久久久久-九九九九九九九九九九热-成人AV| 99热国产在线| 另类五月激情| 五月婷婷av| 色播激情五月天| 啪到高潮激情丁香五月| 欧美成人性爱网| 亚洲激情.com| 开心婷婷中文字幕| 久久激情五月婷婷| 五月婷色色| 丁香六月啪| 5月丁香啪啪啪| 五月婷婷片| 丁香婷婷激情| 四川BBB搡BBB爽爽视频| 爱穴久久| 91精品啪| 六月婷婷激情图片| 成人五月天婷婷| 九九热视频精品2| 五月婷婷五月丁香综合| 五月丁香在线国产 | 亚洲成人在线播放| 亚洲精品久久久久AV无码| 五月天婷婷基地| 免费视频WWW在线观看网站| 婷婷香草网| 色九月综合| 超碰京东热av男人的天堂| 五月婷婷黄| 丁香婷婷五月色成人网站| 五月天堂色| 激情q青青草在线婷婷| 狠狠va| 婷婷五月六月丁香综合| 久久综合五月天| 久久多色| 亚洲V国产V欧美V久久久久久| 97色射| 大香AV| 婷婷色在线| 天天爱天天做综合| 狠狠色狠狠操| 99久久这里只有精品| 色偷偷AV亚洲男人的天堂| 七月丁香婷婷 色色| 婷婷九月丁香天堂丁香天堂| 快乐激情五月色婷婷| 色婷婷色五月丁香| 五月婷婷啪啪| 久久香蕉影院| 狠狠久久婷| 九九久久综合| 久久欧洲综合网| 五月丁香色综合| 91啪啪视频| 丁香六月综合| 91人妻色色网| 五月婷婷综合精品| 成人va在线播放| 久草x色在线观看99| 婷婷网影院| 色婷婷五月基地在线| 玖玖资源在线视频| 99热综合| 国产操B视频| 在线综合婷婷| 亚洲综合1024| 激情 久久 婷婷| 中美日韩成人在线| 五月丁香花婷婷玉莉AV| 79精品视频在线观看,| 91久女| 成人电影一区| 夜夜爱网站| 五月天激情国产综合婷婷婷| 五月婷婷丁香啪啪| 99热色在线精品| 26uuu最新地址| 91av无码| 狠狠操天天日| 99久在线精品99re8热| 97丁香视频| 五月丁香六月激情综合啪啪| 日韩AV片| av五月丁香婷婷网| 丁香五月婷婷激情123| 六月丁香久久| 国产AV不卡福利| 五月丁香色播| 在线不卡视频| 五月激情综合网| 欧美日本va| 亚洲成av人影院| 婷婷永久在线| 午夜成人综合| 亚洲成人AV在线| 这里只有国产精品在线| 丁香五月成人| 色9999日韩国产| 99视频这里有精品| 大香蕉久久久久久久久| 亚洲看av的网站| 色色色热热热| 五月天大香蕉| 九九五月天| 亚洲有码在线视频| 色婷婷婷婷五月天| 内射 无码 伊人| 狠狠干五月天婷婷网| 色欲一区二区三区精品A片| 天堂中文国产| 超碰三级片| 色欧美日| 丁香五月色| 99视频日韩| 天天日天天日天天搞| 亚洲精品又粗又大又爽A片| 99成人网一区| 天天插天天插天天插天天插| 国产精品热搜丁香五月婷婷| 99在线视频网址在线观看| 日日干夜夜撸夜夜骑| 婷婷五月丁香五月| 激情五月丁香婷婷夜夜操| 婷婷色丁香五月| 一区二区免费看| 欧美乱码国产一级A片| 丁香九月激情久久| 色婷婷先锋| 亚洲婷婷久久综合| 色综合久久天天综合网| 91综合国免费久入| 久色网| 婷婷综合网| 九九热只有精品| 婷婷五月播| 久综合网| 久久五月婷婷开心网| 日韩在线观看网址| 狠狠插日日干撸| 丁香九色不卡aaa| 五月丁香性| 五月丁香九九| 亚洲五月婷| 婷婷综合久久| AA片在线观看视频在线播放| 亚洲 五月 婷婷 成人| 99热99日天天干| 人人视频人人干人人做| Www99热| 色一情一乱一乱一区91Av| www.99色| 人妻内射一区二区在线视频| 国产资源91在线| 77777亚洲午夜久久| 伊人久久大香蕉网| 开心婷婷五月激情网小说| 欧美精品中文字幕亚洲专区| 色五月综合激情| 玖玖色资源| 99热在线观看精品| 99精品爱| 97欧美在线| 天天日,天天插| 天天色,天天操,天天射| www.99久久久久99| 能直接看的av网站| 天天开心AV色综合婷婷五月天| www色哟哟| 九九热自拍| 天天人人天天爽| 九热av| 婷婷五月天久久| 天天日天天摸天天| 97干在线看| 色色亚洲| www.99热视频| 色综久久AV| 色综合女人99| 激情五月天综合| 午夜激情五月| 五月丁香综合激情| 亚洲正能量欧美| 亚洲综合久| 99视频精品全部免费观看| 亚洲综合一区二区| 国产亚洲成AV人片在线观黄桃| 色综合色色色| 欧美亚洲999| 久久嘟嘟丁香| 男女啪啪做爰高潮无遮挡| 九九综合| 九玖欧洲亚洲| 99,色| 97在线视频 欧美| 丁香五月综合| 婷婷五月综合体验看| 丁香五月大片| 天天久久狠狠色综合| 五月婷婷黄网站大全| 五月丁香六月激情欧美综合| 国产综合网在线| 五月天 综合 在线| 五月婷婷激情久久| 99热九九九九| 嫩草AV久久伊人妇女超级A| 五月婷婷深深爱| 成人性爱精品视频| 美妞av| 欧美 日韩 成人在线| 色婷婷久久9.com| 久热99| 超碰人人操人人干| 五月丁香六月婷婷激情视频在线观看免费 | 色欲丁香| 色婷婷色99国产综合精品| 另类小说五月天综合网| 久久色频| 亚洲综合九九| www.久久爱.com| 玖玖热99| 丁香五月婷婷老师网站| 亚洲蜜桃精久久久久久久久久久久| 婷香五月| 91碰碰视频| 99精品综合视频| 在线可以看的av网址| 国产又黄又爽又激情不遮挡视频在线观看| 91丨九色丨大屁股| 久久激情五月婷婷| 无码yw| 久久九九九九| 1024在线视频| Www.se.久久| 综合狠久久| 亚洲欧美在线观看| 狠狠精品干练久久久无码中文字幕 | 影音 五月 婷婷 久久| 夜夜穞天天穞狠狠穞AV美女按摩| 538在线精品| 亚洲另类电影| 99操逼| 婷婷亚洲综合| 久久久激情视频| 色婷婷综合亚洲| 九月婷婷激情| www.99久| 色啪网| 天天干天天色综合| 亚洲激情另类| www.久久| 熟女人妻视频| 最新无码专区| 狠狠色综合无线观看| 99精品综合| 色婷婷狠狠久久综合五月| 九月婷婷人人操人人舔人人爱| www天堂99| 色色草97| 99在线视频女女视频| 九九综舍久久| 久久新地址| 天天插天天狠| 欧美婷婷五月激情| 色狠狠色狠狠| 丁香六月欧美| 欧美激情综合色综合啪啪五月| 99热久草| 五月婷婷啪啪| 免费看欧美成人A片无码| 五月婷三级片| 欧美男女婷婷| 五月婷婷色影院| 婷婷五月天影院| 97干在线| 激情深爱综合| 99热只有精品在线观看| 色婷五月天激情| 99热只有| 色综合天天综合成人网| 五月天社区| 久久九九99视频| 激情五月天第四色| 日本久久人人| 99热网站在线观看| 五月丁香青草综合啪啪| 五月天综合久久| 8区视频在线| 五月激情综合网| 日本精品人妻无码77777| 九热视频在线伦| 99人人干人人| 99这里的视频都是精品| 五月天婷婷视频30| 色色综合激情| 开心五月激情网| 亚洲激情四射色| av无码电影| 天天久久66xxx| 丁香六月激情蜜桃| 婷婷综合五月天| www.五月天| 欧美69久成人做爰视频| 黑人无码一区| 婷婷五月天无码熟女| www.99热. com这里只有精品| 婷婷久久五月天丁香| 日日夜夜天天| www.婷婷五月天,com| 亚洲av网站在线观看| 丁香六月婷婷高清| 国产精品VA在线| 免费黄色视频网址| 亚洲最大成人综合网720P| 九九九九九九毛片| 99在线观看视频蜜臀| 激情99在线视频| 99精品视频网| 色综合中文综合网| 99视频色在线观看| 亚洲天天综合| 九色PORNY9l原创自拍| 欧亚成人A片一区二区| 狠狠情色| 六月色色婷婷| 日本久久综合| 丁香婷婷激情四射五月| 五月综合久久| 99热只有这里有精品| 婷婷色色网| 黄色片精品| 色综合色综合网| 中文av网| 操日本三片99| 色色色色色色综合| 一本色道久久综合狠狠躁小说| www.9色色色| 欧美美女国产日韩一区二区久| 成人网址在线观看| 大香蕉色婷婷伊人在线| 噜一噜免费视频| 丁香五月天堂网| 伊人丁香在线| 久久婷婷五月综合97色一本| 六月婷婷综合| 婷婷五月天影院| 99男人天堂| 亚洲va欧洲va国产va不卡| 婷婷综合五月| 色婷婷丁香| 色五月天成人| 五月丁香久久激情综合| 99久久婷婷国产综合精品草原| 《蜘蛛女》梁铮1995| 无码一区精品一区视频| 婷婷丁香人妻天久久| 丁香婷婷色色| 操日本色| 女人天堂 AV| 极品精品一区二区三区在线| 亚洲婷婷五月天综合| 97资源碰碰| 大香蕉伊在| 丁香激情综合| 四虎国产精品永久在线国在线| 天天激情5月天亚洲| 久久久8| 99热插| 婷婷丁香小说| 99精品久久久久久久久| 99热只有这里才是精品| 91se精品国产| 伊人五月久久| 亚洲亚洲人成综合网络| 丁香六月婷婷久久综合八月| 欧美va在线| 九月丁香婷婷| 久热9| 亚洲AV成人在线| 五月婷婷偷拍| 超碰com| 久久婷婷内射| 久久婷婷网站| 色婷婷网| 亚洲午夜av| 26UUU欧美| 国产67194| 久久性爱视频网站| 色噜噜狠狠色综合伊人| 综合激情五月天| 亚洲五月天天| 国产AV一区二区三区最新精品| 无码G高清天| 色色网站毛片| 久久婷婷丁香六月天| 丁香五月婷婷影视先锋| 久99热| 五月情涩综合婷婷| www.99热在线| 日韩成人AV在线播放| 中文字幕成人| 丁香婷婷六月激情文学 | 五月丁香婷中文| 亚洲成人综合在线| 色优久久| 五月天色婷婷小说| 国产精品成人网址| 五月婷婷六月综合| 婷婷六月综合基地| 日本欧美在线| 五月天色播网| 五月停停大香蕉| www,五月天激情| 青青草Avb在线| 91热久久| 丁香五月天激情婷婷丁香六月| 三十熟女| 欧美Va日本Va| 久久婷.com| 亚洲日韩一页精品发布| 天天久久综合| 成人短视频免费观看| 欧洲亚洲免费视频9 | 欧美色骚婷婷五月天| 三级av在线| 天天干天天干天天干天天干天天干| 日本久久性| 亚洲精品99| 伍月婷丁香花全集| 婷婷五月中文字幕| A久久| 狠狠狠狠狠草| 丁香五月综合久久| 天天爱天天操| 97色婷婷五月天| 婷婷五月电影| 无码少妇高潮喷水A片免费| 五月婷婷综合在线观看| 91操熟女| 欧美色五月| 九九色综合视频| 99精品国产热久久91色欲| 大香蕉AV在线| 草综合14| 九九sese| 婷婷五月激情综合啪啪| 网站免费一站二站| 亚洲VA在线| 操操人人| 精品九九九久| www.精品99| 99人人操人人摸| 婷婷五月天久久| 91 九色大美女| 日本精品99网站| 中文aV网| 色射影院| 久久婷五月影院| 91碰碰| 色婷婷成人| 日本美女天天日天天爽| 婷婷色五月天色| 丰满少妇猛烈A片免费看观看| 丁香五月伊人| 婷婷五月天深爱| 五月激情综合网| 亚洲av综合在线| 激情网五月| 五月婷婷激情综合| 欧爱综合视频| 99re在线观看| 久久九九re热| 婷婷丁香社区| 91色色色| 激情性五月天免费小说视频| 伊人婷婷青青cao| av无码电影| 天天干在线播放| 五月丁香激情综合网| 丁香婷婷色色| 久久这里有精品在线观看| 亚洲激情网| 九九色天堂| 久久大国产香蕉| 久久久精品人妻| www.五月天| 久久激情五月天| 亚洲天堂亚洲色色色| 91日本在线| 天堂综合久| 亚洲狠9| 天天射影院| 99热思思| 婷婷97碰碰| 久热免费| 成年人看Va免费视频| 欧美日韓成人亚洲精品另类| 超碰成人免费| 国产综合视频婷婷| 丁香五月久久社区| 91人妻人人操| 性欧美大战久久久久久久83| www.五月.com| 色综合婷婷| 这里只有精彩视频| 天天天综合网| 激情五月丁香六月综合AVXXXX| 国产寻花在线| 五月婷婷狠天天色综合| 婷婷5月色| 久久XX| 啪啪一区| 五月婷婷大香蕉| 99热碰碰热| 91avse| 色综合激情| 99热欧美偷拍| www.五月天婷婷| 任你搞网站| 五月婷婷七月丁香| 99久久97久久欧美综合网| 久久一级片| 五月婷婷精品| 欧美色色色色色色| 另类图片激情五月| 另类视在线| 大香蕉网站,大香蕉综合| 超碰免费人妻| 五月丁香啪啪啪综合网| 亚洲九区| 综合五月草 | 亚洲另类电影| 色屌丝中文字幕| 夜夜撸夜夜骑| 777精品久无码人妻蜜桃| 欧美S码亚洲码精品M码| 嫩草AV久久伊人妇女超级A| 人妻丰满精品一区二区A片| 日韩一级一片内射视频4K| 久久A极片| 激情婷婷护士激情| 久久久A级视频| 久人操| 97久久人人| 婷婷久久五月| 丁香五月综合福利视频导航| 五月天堂在线| 精品人妻一区二区三区四区不卡在| 69色色视频| 色婷婷亚洲婷婷| 99久久婷婷国产综合| 92久久| 岛国av网站| 精品人妻午夜一区二区三区四区 | 久久一品区| 婷婷激情视频| 亚洲国产精品五月天| xxx日本东京热| 99热成人在线观看| 九九视屏| 丁香五月激情五月| 天天色情站| 1024在线视频| 五月丁香婷中文| 亚洲艹网| 一级二级香港秋霞欧美欧美秋霞| 99只有精品| 丁香五月性| 97亚洲视频在线| 日韩三及成人AV片| 婷婷综合久久| 欧美噜一噜| 日亚二欧美| 99精品在线| 91/九色黑人| 成人丁香五月| 色五月婷婷DVD| 色五月av| 亚洲激情久久| 色五月,婷婷大香蕉| 亚洲性视频| 深爱激情九九五月天 | 久久婷婷视频| 99久久网站| 91熟妇大香蕉| 五月天丁香网站| 成人狠狠成人狠狠成人狠狠成人狠狠| 丁香婷婷激情五月天无毒不卡蜜桃| 婷婷黄色| 婷婷99综合| 99热爱爱干干日| 伊人网色婷婷五月天| www.久久99热地址发布| 日本乱子人伦在线视频| 久久精品系列| 丁香婷婷丁香五月欧美人| 饮料下药迷倒漂亮女同事强干| 色5月婷婷| 久久久久久18| 99区视频| 99精品久久久久| 激情久久伊人| 美女激情综合| 开心五月综合| www.色五月| 九月大香蕉| 婷婷丁香一月| 色五月首页| 色噜噜丁香| 大香蕉五月天婷婷| 99re思思热久久| 最近中文字幕大全免费版在线| 99热99| 99精品在线下载| 婷婷五月色天| 成人五月丁香花| 丁香五月婷婷亚洲人| 激情网婷婷五月天| 影音先锋 萱萱| 久久色区| 日本婷婷| 欧美一级a | 99精品视频在线观看| 婷婷最新地址| www.精品99| 99综合网| 久久日九九| dingxiangtingtingliuyue| 色婷婷成人做爰A片免费看网站| 色播色丁香五月| 久久婷婷五月综合色播| 九九成人| 五月婷色色| 婷婷五月激情图片| 五月婷护士| 日日干夜夜撸夜夜骑| 另类视频五月天| 九九大香蕉黄色影院| 看久久性爱99视频| 久热99视频在线观看| 99热热九九| 思思热这里只有精品| 久久婷婷啪啪视频| 99热天堂| 亚洲婷婷综合视频| 婷婷五月天日本无码| 久热播这里只有精品| 5月丁香六月情| 丁香婷婷综合激情五月色| 婷婷丁香色五月亚洲| 丁香九九九九| 99re青青草| 久久精热| 丁香五月综合激情久久潮喷| 丁香六月成人网| www,奇米影视| 人妻操操色| 久久您您综合网| 五月丁香色五月| 国产精产国品一二三在观看| 五月熟妇婷婷久久| 夜精品无码A片一区二区蜜桃| 五月丁香久久精品在线观看| 超碰av在线| 色999亚洲人成色| 亚洲色五月| 婷婷丁香色情| 久操人妻| 九九热a| 色九网| 玖玖在线视频福利| 五月花婷婷| 色色色视频免费无码| 五月天婷婷基地| 538在线| 麻豆AV一区二区三区| 99re这里有精品手机在线| www.色五月| 色噜噜婷婷| 丁香五月激情欧美| 超碰在线综合| 综合狠狠干| 99在线观看| 夜夜操夜夜爽| 性做爰A片免费视频A片直播| 激情五月综合色婷婷| 综合色、色综合| 开心激情网在线| 四月婷婷五月丁香| 国产97色在线| 婷婷五月激情四月综合| 99精品在线| 伊人网色婷婷五月天| 免费在线观看av网站| 色婷五月天| 久久xx| 亚洲乱码日产精品BD| 人人干Av| 99色.com| 在线婷婷| 人人爱天天摸摸天天爱| 噼里啪啦完整版中文在线观看| 另类视频丁香五月| 97日本在线| 久久99精品久久只有精品| 狠狠艹狠狠艹| 99九九这里有免费视频| 婷婷六月激情| 色婷婷电影| 丁香色婷婷| 婷婷色av| 91无码视频| 日日影院 | 色色色色色色色色网站| 99视频在线观看网址| 夜夜爽天天爽| 久久思思热视频| 操逼六区| 色五月激情综合网| 色丁香六月| 在线看片av| 7EzOBIhNq85TO| 开心激情网五月天| 看婷婷五月天网| 999热视频精品99免费在线| 亚洲成人无码网站| 亚州激情在线视频| 亚洲av成人一区二区电影在线| 日韩欧洲亚洲| 91人妻视频| 天天噜日日噜综合无码| www.色婷婷| 亚洲综合五月天| 色五月婷婷在线视频| 夜夜爱影院| 久久A极片|