日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Shopee Games 游戏引擎演进之路

發布時間:2023/12/10 编程问答 76 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Shopee Games 游戏引擎演进之路 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文作者: Shopee Games 前端團隊。
首發于微信公眾號“Shopee技術團隊”。

摘要

Shopee Games 團隊致力于豐富 Shopee 電商內的互動性和娛樂性,讓用戶在購物之余獲得更多愉悅感,同時游戲也能為 Shopee 帶來持續的活躍用戶和更多的優惠券發放渠道。在這個背景下,從游戲誕生之初,我們希望游戲足夠輕量,而且能夠快速迭代,持續給用戶提供多種多樣的游戲體驗,同時又不會對 Shopee App 的體積造成較大影響。因此,我們需要選擇合適的游戲引擎,并打造適合 Shopee Games 的工具鏈。

本文將介紹 Shopee Games 團隊如何選擇游戲引擎,如何擴展游戲引擎以提高生產效率,如何讓游戲開發流程和成熟的前端工程化體系結合,實現游戲規范化和研發質量的提升。Shopee Games 是內嵌在 Shopee App 的游戲,所以對于有同樣內嵌游戲需求的業務團隊,本文總結的經驗會有一定借鑒意義。

1. 游戲引擎選型

Shopee Games 當前以休閑類游戲為主,為了減少對 Shopee App 體積的影響,技術選型上會偏向于 H5 游戲。而如何選擇 H5 游戲引擎,我們主要考量以下幾個方面的因素:

  • 2D 還是 3D 游戲?
  • 是否對開發友好?包括是否支持 TypeScript、文檔是否完善、研發流程是否適合以開發為主導。
  • 性能和兼容性如何?
  • 官方工具鏈是否完善?
  • 是否開源?
  • 是否有成功的游戲案例?
  • 官方是否有客服支持?
  • 官方是否有持續更新?

首先,我們的休閑類游戲主要為 2D 游戲,所以我們先聚焦在針對 2D 設計的游戲引擎上。雖然 3D 引擎可以通過正交視角來實現 2D 效果,但渲染性能和輕量化都不如專門的 2D 引擎,所以我們先把 3D 為主的引擎排除掉,例如 Unity3D、LayaBox、Three.js、Babylon.js。而 2D 引擎,國內主要有老一些的 lufylegend.js、Cocos2d-JS 和持續更新的 Egret、Cocos Creator,國外有 Phaser/Pixi 和 CreateJS。

接著,從可持續性、性能方面考慮,可以先把較老的 lufylegend.js、Cocos2d-JS 排除。而 CreateJS 實際并不是一個完整的游戲引擎,它更接近于一個精簡的渲染引擎,缺少整體的工具配套,難以支持大型游戲,也排除。

那么,最后我們重點對比 Egret、Cocos Creator 和 Phaser。Phaser 的渲染引擎就是 Pixi,后續用 Phaser 代表這兩者。

以上三款游戲引擎都支持 TypeScript 和 WebGL,性能差異不大。對于 Shopee Games 團隊而言,Egret 有較大優勢:

  • Egret 支持 canvas 模式,因此東南亞市場中的一些低端手機用戶也能夠運行我們的游戲;
  • Egret 的理念是面向開發者的,而我們團隊有較強的研發能力,以開發者為導向能夠讓整個游戲性能更好;
  • 在工具鏈上,Egret 有自研的龍骨動畫和編輯器,非常適合我們的游戲開發。

因此,綜上所述,我們選擇 Egret 作為主流引擎,并在 Egret 的生態基礎上,持續優化和打造能夠提高游戲開發效率的工具鏈。

2. Egret 引擎優化和公共庫

2.1 Egret 引擎優化

Egret Engine 是白鷺時代研發的遵循 HTML5 標準的開源游戲引擎,包含 2D/3D 渲染核心、EUI 體系、音頻管理、資源管理等游戲引擎的常用模塊。

目前我們使用 Egret Engine 開發了 Shopee Candy、Shopee Pet、Shopee Fruit、Shopee Link 這四款游戲,在項目開發和迭代過程中,我們發現官方引擎存在一些問題,無法完全滿足業務需求和性能標準。于是,我們對 Egret 引擎做了定制開發,下文稱之為“定制化引擎”。

2.1.1 性能上報

針對游戲的一些數據指標,如 FPS、DrawCall、First Paint、GPU Size 等等性能指標進行上報。

上報流程如下:

通過分析上報的游戲性能數據,我們能更好地分析性能瓶頸,從而有側重性地提升游戲性能。其中,涉及到的詳細性能指標如下:

2.1.2 性能優化

我們在官方引擎基礎上針對性能做了一些優化,幫助開發人員提升游戲性能。

靜態合圖

在開發過程中將散圖合成一張大圖的圖集,達到降低 DrawCall 的目的。

動態合圖

在項目運行時,動態地將貼圖合并到一張大貼圖中。當渲染一張貼圖的時候,動態合圖系統會自動檢測這張貼圖是否已經被合并到了圖集(圖片集合)中。如果沒有,并且此貼圖符合動態合圖的條件,就會將此貼圖合并到圖集中。

動態合圖是按照渲染順序來選取要將哪些貼圖合并到一張大圖中的,這樣就能確保相鄰的 DrawCall 能合并為一個 DrawCall。

和前面的靜態合圖原理一樣,都是以合圖紋理代替碎圖紋理,從而減少 DrawCall。而動態合圖最大好處是提高了一些無法提前靜態合圖的場景,例如用戶的裝扮。

節點順序調整

引擎底層的性能優化,目的是保證相同紋理的渲染順序。例如在同級 addChild 時,如果原始順序為 img1>text>img1,引擎能自動優化成 img1>img1>text,降低 DrawCall。

DrawCall 優化工具開啟

游戲 Main 函數開啟 Benchmark.init(null,null,true);或者 Benchmark.optimizeDc 設為 true 即可。

2.1.3 引擎瘦身

官方引擎默認包含所有模塊,其中有一些在我們的實際項目中使用不到。因此,為了減少引擎包體積大小,需要剔除掉用不到的代碼,例如:

  • Native 代碼;
  • Runtime 代碼;
  • WX 等小游戲端兼容代碼;
  • KTX 紋理相關代碼;
  • ETC Loader 代碼。

修改前后對比:

最終,游戲前端 JS 加載量共減少 16KB,約 7%。雖然這個體積看起來很小,但對于部分網絡較差的地區,少量的體積優化也是有價值的。

2.1.4 Bug 修復

對于項目遇到的一些引擎層面的 bug,由于引擎官方可能會更新修復不及時,很多時候需要我們自己去修復。例如:iOS 14/15 渲染卡頓問題、龍骨庫渲染問題、網絡以及音效問題等等。其中,我們解決 iOS 14/15 卡頓問題后,很榮幸貢獻了代碼幫助 Egret 官方團隊解決這個問題。

2.1.5 API 增強

官方引擎的一些用法過于繁瑣,不夠友好,如設置節點寬高等。因此我們在官方引擎基礎上,擴展了方便快捷的 API,供大家使用。

2.2 公共庫

為了提高開發效率,避免大家重復造輪子,基于優化后的 Egret 引擎,我們做了公共庫的開發,封裝通用工具類、通用模塊、通用 UI 組件等等。

2.2.1 工具庫

我們封裝游戲中常用的一些工具庫:

  • SoundUtil:音樂播放工具類,支持音效/背景音樂的播放/暫停/倍數播放等;
  • DragonUtil:龍骨工具類,負責龍骨動畫的創建/銷毀等,隱藏龍骨創建細節,簡化龍骨動畫使用難度;
  • ResUtil:游戲資源管理類,方便開發者加載/釋放游戲資源;
  • SmartEvent:封裝的消息通知類庫,方便大家使用,便于模塊之間的解耦,包含自定義事件/UI 事件的監聽和移除;

封裝工具庫是為了降低開發難度,以及避免不同團隊重復造輪子。目前已在 Shopee Games 的四款 Egret 游戲中使用,平均節約人力 2 周以上。

2.2.2 基礎 UI 組件

我們對 Egret 基礎組件進行了擴展,并提供了生命周期等一系列鉤子函數,降低開發難度,提升開發效率;同時,提供了一些各項目通用的組件,如:分享界面/好友界面/小怪獸彈窗等公共 UI 組件。

Egret 基礎組件擴展

我們為 UI 組件提供了一些生命周期的鉤子函數方便游戲業務使用,開發者實現每個 UI 類時不必再單獨實現事件監聽和移除。同時,內置的事件管理也避免了開發者可能因開發遺漏而導致的內存泄漏問題。

具體的鉤子函數如下:

2.3 定制化引擎同步更新

隨著定制化引擎的修改越來越多,隨之而來的問題是:如果官方引擎更新了,我們怎么快速合并官方引擎版本?

這里采用的方案是 git 雙 remote 的方案,流程圖如下:

詳細步驟如下:

  • 為了表示方便,我們把 Egret 引擎開源庫定義為 A,我們自己的定制化引擎倉庫為 B;
  • 通過 git clone B ,拉取修改項目 B;
  • 通過 git remote add A repository,以及 git fetch A,增加 A 遠程并獲取 A 的倉庫信息;
  • 假設 B 的開發分支是 dev,切換到此分支;
    假設我們需要合并的是 A 的一個 tag,如 v5.4.0,使用 git merge v5.4.0 --allow-unrelated-histories,強制合并。

由于需要同步源框架項目代碼,我們的改動會受到一些限制,否則每次合并都會有重復的工作量:

  • 盡量不要重命名或者刪除原本的文件,或者改動代碼里面的函數及變量名;
  • 如果需要拓展一個類的功能,盡量采用原型鏈拓展的形式;
  • 自定義內部工具類可以內部自行定義,只要不重名即可;
  • 行內代碼盡量采用增加的模式,盡量不改動原本的代碼;
  • 有些庫代碼會增加很多渠道兼容的代碼,我們可以適當減少,合并時會基于從共同祖先分析改變的機制,因此不會每次都要 diff。

通過以上方案,我們就可以實現官方倉庫和定制化引擎的快速同步。

3. 游戲研發工程化

雖然 Egret 引擎能滿足 Shopee Games 的基本業務需求,官方也提供了一系列工具來滿足開發者的開發需求。但在使用 Egret 引擎的過程中,我們還是遇到了以下一些痛點:

  • 缺乏模塊概念:采用默認的 TypeScript 方式編譯,不支持文件頂層 import 和 export,所有編譯文件內容被視為全局可見,容易造成變量污染以及安全問題;
  • 無法使用 npm:業務項目根目錄下不支持 package.json 文件,不支持模塊化的第三方庫;
  • 缺乏工程化方案:沒有提供工程化的相關方案,如代碼審查、單元測試等,項目也無法輕易接入常規的 Web 前端工程化方案;
  • 部署流程復雜:代碼編譯工具依賴于官方工具,沒有提供命令行版本,無法在服務器上單獨部署。

顯然 Egret 工程無法滿足我們的工程需求。即便現在的 Web 前端工程化技術十分成熟,我們仍處于石器化時代,因此決定把 Egret 工程前端工程化。

3.1 Egret 前端工程化

3.1.1 支持根目錄 package.json

package.json 文件可以說是目前前端項目必備的一個文件,Egret 引擎起家比較早,當時的前端工程化還沒有那么成熟,Egret 引擎的構建是官方自己寫的一套構建系統。

不支持根目錄下 package.json 文件,很多事情也很難執行下去,還好 Egret 引擎的構建工具代碼也是通過 JS 編寫,而且跟引擎代碼一樣開源。

通過源碼斷點調試,我們發現 Egret 項目不支持根目錄下 package.json 的原因是:Egret 構建的時候,通過判斷根目錄下是否存在 package.json 來區分工程項目和庫項目,從而使用不同的構建流程,構建出不同的產物。

為了做到最小化的改動,且也能支持工程項目根目錄下存在 package.json,我們把構建項目的判斷修改為判斷 package.json 內自定義字段的值,來區分是否為工程項目。

支持根目錄下存在 package.json,后續的一些工程化改造就比較容易進行下去了。

3.1.2 引擎 npm 包

官方構建依賴于本地機器上的構建工具,每次的部署發布,都需要在本地構建完成后再上傳到服務器上,與 Shopee 業務的部署規范和流程不太相符,并且嚴重阻礙了項目快速迭代的節奏。

為了使構建能夠支持在服務器上單獨部署,我們把定制化引擎的代碼進行改造和封裝,發布成一個 npm 包的形式,項目依賴從一個本地的構建工具變成 npm 包。

"dependencies": {"@egret-engine/egret-core": "1.6.2-alpha.1",}

npm 包主要包含兩部分:

  • build 目錄:引擎相關的庫文件;
  • tools 目錄:構建編譯相關工具。

發布成 npm 不僅使得項目的編譯運行脫離本地環境,也能更好地去做項目的版本管理。但是僅發布成 npm 包是不夠的,還需要結合以下的 Webpack 打包構建才能達到我們的目的。

3.1.3 Webpack 打包構建

為了支持模塊化編譯以及在服務器上單獨部署,我們選擇了成熟的 Webpack 構建方案接入到 Egret 項目中。

改造 Egret 項目構建前,首先需要分析一下 Egret 項目的依賴以及構建產物:

  • *.js:代碼構建產物。
  • *.ts:TypeScript 業務代碼文件。
  • res:項目資源文件。例如:圖片、音頻、JSON 文件等。
  • egret libs: Egret 項目依賴模塊,即相關的 JS 庫文件。
  • *.exml:Egret 特有的標簽語言文件類型,用作 UI 布局,可編譯成 JS 文件和 JSON 文件。

官方的構建類似于 gulp ,按照一定的順序執行每個任務。雖然官方也提供了自定義任務插件的方式,讓開發者自定義構建流程,但這都需要開發者重新去開發,比較耗費人力。

exml 文件類型是 Egret 引擎特有的文件類型,目前前端生態沒有相關的解析編譯工具;res 文件處理也沒有必要重新造輪子,所以我們沿用官方的工具,封裝到 @egret-egine/egret-core/tools 上,作為構建工具的一個依賴。

而 egret libs 依賴處理和 *.ts 代碼編譯,我們都能在前端生態上找到更好的方案,根據需求使用即可。

通過 Webpack 去打包 Egret 項目,構建依賴來源于 npm,這樣就可以脫離本地環境,直接在服務器上部署構建。而且產物也跟官方打包產物保持一致,做到良好兼容。

3.1.4 工程化配置

經過以上改造,其實 Egret 工程項目跟普通的 Web 前端工程沒有太大區別,成熟的 Web 前端工程化方案在我們的項目中能得到很好的實踐,不僅能夠實現在服務器上單獨部署,也能輕松接入質量把控的工具,例如 eslint、jest 等,提高代碼質量。

3.2 Egret-Webpack-CLI 實現

在項目初期,我們主要根據業務和工程需求,基于 Egret 和 Webpack 搭建了項目腳手架模版。但在創建新項目和創建 demo 項目的時候,仍需要從倉庫 clone 模版倉庫下來,并且根據項目進行一定的人工配置。在目前的使用上看,問題不大,但仍然比較繁瑣,也有可能會遺漏一些配置,新建項目不能做到開箱即用。因此開發腳手架工具,能夠快速生成對應的模版項目。

3.2.1 CLI

一般腳手架工具主要分為 CLI 和 Template 兩部分。腳手架模版內容并沒有與 CLI 一起放到同一個倉庫,而是分別放到不同的倉庫進行管理和迭代。通過分離,可以確保兩部分獨立維護,不會互相干擾;模版配置或依賴更新只需要更新項目模版即可,無需影響 CLI 部分,導致重新發包。

參考其他腳手架的思路,模版作為獨立資源發布到遠程倉庫上,然后運行的時候通過 CLI 工具下載下來,經過 CLI 的交互信息,作為交互的輸入元信息渲染項目模版。

終端執行 egret-cli 后,即可根據交互信息,生成對應的 Egret 工程項目。

3.2.2 Template

由于我們需要對應不同的需求,且業務相關的配置較多,導致模版業務配置差異比較大,暫不能完全做到一個統一的模版。同時,為了保證一個模版內沒有冗余的配置,我們做了區分,主要提供了 base、standard、Shopee、native 四種項目模版。

需要做小 demo 的時候,可以直接使用 base 模版,比較簡潔;如果需要研究跟業務有關的功能,可以選擇 Shopee 模版;如果是新項目的成立,則直接使用 native 模版。

3.3 最終 Egret 游戲開發流程

Egret 項目與常規 Web 前端工程接軌,既解決了開發痛點,滿足了工程需求,也讓我們從石器時代正式步入工業時代,從開發到部署都有很好的工具去輔助執行,提高了代碼質量和開發效率,新來的同學也能很好地上手項目。

成熟的 Web 前端工程不僅有利于我們的業務擴展,也賦予了項目更多的可能性。一些在前端很容易實現而在原來游戲引擎比較難實現的功能,例如動態邏輯代碼加載、多頁應用、Egret+React 混合頁面等,在我們的項目中也得到了很好的實踐。

4. 更多研發問題

4.1 iOS 審核問題背景

在 Shopee Games 推出早期,用戶量和訪問量都不大,蘋果公司沒有著重針對 HTML5 版本的 Shopee Games 提出意見。但是,隨著 Shopee 業務不斷發展,用戶量和訪問量持續增加,2021 年初,蘋果公司對 Shopee 內嵌的 HTML5 游戲提出了意見,認為 Shopee App 違反了《App Store Review Guidelines》的 4.7 條款。

蘋果公司的審查條款原文是這樣的:

4.7.1 Software offered under this rule must: - be free or purchased using in-app purchase; - only use capabilities available in a standard WebKit view (e.g. it must open and run natively in Safari without modifications or additional software); and use WebKit and JavaScript Core to run third-party software and should not attempt to extend or expose native platform APIs to third-party software; - be offered by developers that have joined the Apple Developer Program and signed the Apple Developer Program License Agreement; - not provide access to real money gaming, lotteries, or charitable donations; - adhere to the terms of these App Store Review Guidelines (e.g. do not include objectionable content); and - not offer digital goods or services for sale.

歸納起來,包含以下幾點要求:

  • 全免費的 H5 游戲或使用蘋果支付;
  • 僅使用 WebKit 自帶功能,不允許擴展,例如 JSBridge;
  • H5 開發者需要加入蘋果開發者計劃;
  • 不允許涉足金錢賭博,而且內容要符合其他審查條款一般限定。

而 Shopee Games 內嵌在 Shopee App 內,天生需要和 Shopee 深度結合,必然涉及 JSBridge (例如登錄、跳轉電商店鋪)。并且,Shopee Games 還使用了 Shopee Coins 作為游戲中的貨幣,而 Shopee Coins 并不是通過蘋果支付得到的,是用戶在電商購物中累積獲取的。從這兩個角度來看,Shopee Games 使用 HTML5 技術必然觸犯以上的蘋果審查條款。

我們參考了 Egret 引擎官方的建議,改變了 iOS 平臺上 Shopee Games 的技術架構,從原來的 HTML5 改為了 Native,使用的是 Egret Native Runtime。Egret 官方工具支持一鍵生成 iOS 工程并發布對應的 App 安裝包,這能夠滿足獨立游戲的需求。但是 Shopee Games 需要內嵌在 Shopee App 中,并不是獨立的游戲 App,所以無法直接簡單使用官方的一鍵發布機制,我們需要進一步研究 Egret Native 的原理,從而和 Shopee App 做整合。

4.2 Egret Native 原理

分析 Egret Native 工具創建的 iOS 模板工程,可以發現:

  • Egret Native Runtime 依賴一系列的系統庫和獨立封裝的 libEgretNativeIOS.a,主要核心邏輯和網絡功能都在這個庫中。由于 Egret Native 并不開源,從模板工程無法得知這里的具體實現;
  • 固定以 App 根目錄的 assets 文件夾作為資源目錄,H5 版本的生成文件需要固定存在此處,而且這里只支持一個游戲;
  • 通過 libEgretNativeIOS 庫,可以創建相應的 EgretNativeIOS 實例和對應的 view。

雖然 Egret Native 并不開源,但根據官方文檔,再結合模擬器斷點調試分析,還是可以對 Egret Native 有進一步的發現。

Egret Native 游戲架構包括三層:前端游戲層、Egret Native Runtime 和 iOS Native 層。

  • 前端游戲層保持和 H5 版本的文件內容一致;
  • Egret Native Runtime 是核心的適配層,它使用 JSCore 對游戲包內的 JS 文件進行解析,搭建 JSBridge 實現 JS 和 Native 兩側的通信。運行時渲染的方式和 Web 有所區別,Egret Native 有一個針對 Native 的 JS Polyfill 和 JS Engine 補充,并不是在 Runtime 層實現了全部瀏覽器功能;
  • iOS Native 層,主要是管理 Egret Native Runtime 生命周期和管理視圖。

啟動 Egret Native 游戲時,先從 iOS Native 層初始化 Egret Native 實例,并創建對應的游戲 view,掛載到主界面上。然后,Egret Native 初始化 JS 引擎,綁定 JSBridge,讀取前端游戲層的游戲資源,解析 HTML 和 JS,調用 OpenGL 接口,最終顯示游戲畫面。

4.3 Egret Native 和 Shopee App 結合

從模板工程來看,把 Egret Native 游戲內嵌到 Shopee App 的方式是比較清晰的,把 libEgretNativeIOS.a 和其他必要的依賴庫添加到 Shopee App 項目工程中,再把游戲包存放到 assets 目錄中,最后綁定必須的 Shopee JSBridge,供游戲邏輯實現登錄、支付、跳轉等操作,整個結合工作就完整了。

但是,在最終實現過程中,發現一些深層次問題,需要通過業務側的方式解決或規避。這些問題包括:

1)模板工程不支持多個游戲

Shopee Games 包含多個游戲,而上述 assets 目錄只支持存放一個游戲的資源。并且 Egret Native Runtime,也就是上述的 libEgretNativeIOS.a 沒有開源,無法做針對性的修改。

最后,我們在官方的《熱更新方案說明》中,發現了 Egret Native 可以設置 preload 目錄路徑,而 preload 目錄內的資源優先級比 assets 目錄高。

于是,我們可以在 Shopee App 內置多個游戲,分別存放于一個單獨的目錄中,在啟動 Egret Native 前設置 preload 路徑為對應游戲的路徑。Egret Native 啟動后會優先讀取 preload 目錄的資源來啟動游戲,忽略后續 assets 的內容。

2)網絡緩存文件無限增大

Egret Native Runtime 對網絡請求做了緩存,但沒有完善的清理機制,導致本地緩存目錄會隨著游戲下載的資源增多而無限增大。這部分需要在 Shopee App iOS Native 邏輯層面進行補齊。

3)部分第三方庫命名沖突

libEgretNativeIOS.a 自帶了一些第三方庫,例如 SocketRocket,而 Shopee App 也引入了這個庫,雙方都沒有對這個庫做別名處理,導致命名沖突編譯失敗。由于 libEgretNativeIOS.a 無法修改,只能在 Shopee App 業務層面自行修改 SocketRocket。

4)Egret Native 存在內存泄漏

由于在 Shopee App 中,Egret Native Runtime 需要反復啟動和銷毀,只要 Egret Native Runtime 對對象、紋理處理稍有不當,都會引起內存泄漏。而對于 Egret Native 獨立游戲來說,這個問題就不存在,因為每次關閉游戲都是整個 App 的銷毀。這個問題已經反饋給 Egret 官方,但由于官方團隊不會專門針對我們的使用場景做處理,所以目前暫無進展。慶幸的是,這部分內存泄漏很小,暫時不構成大的問題。

通過解決上述一系列問題,最終我們實現了 Egret Native 和 Shopee App 的結合,能夠在 Shopee App 上運行多款自研游戲。在蘋果審核的角度,我們這個方式脫離了 Webkit,而且所有代碼邏輯內置在提審的安裝包中,完全符合審查條款的要求。因此,方案上線后,Shopee App 和 Shopee Games 順利通過了 App Store 的審核。

4.4 未來規劃

雖然 Egret Native 已經能夠結合在 Shopee App 中,但在持續運營半年后,我們發現 Egret Native 還是存在一些問題:

  • Runtime 不開源,存在無法解決的問題;
  • Runtime 只支持 Egret 游戲,無法支持其他游戲引擎。尤其是,Egret 引擎對 3D 游戲開發來說,暫時還不是最佳選擇。

于是,我們正在籌劃更長遠的解決方案——自研的 Native Runtime,能夠同時支持多家 H5 游戲引擎。

這個解決方案采用類似微信小游戲的整體架構,但在 JS 層面會做進一步的封裝,方便 Shopee 內各個游戲團隊快速接入。技術層面概要來說,就是 Native 基于 JS 引擎向 JS 側暴露對齊 WebGL 標準的接口和必要的 BOM 接口,從而普通 H5 游戲引擎就可以無縫運行在瀏覽器和我們自研的 Runtime 上。

這個方案的好處有:

  • 兼容性好,能同時支持多家游戲引擎;
  • 方便存量 H5 游戲轉移;
  • 能利用各家引擎成熟的開發工具鏈。

但是,相應也存在劣勢:

  • iOS 12 之后的版本正逐步放棄對 OpenGL 的支持;
  • 由于兼容多家引擎,難以使用新的圖形圖像標準,例如 Metal、WebGL2、Vulkan。

目前 iOS 已經迭代到 15,OpenGL 和 WebGL 還是能夠平穩運行,而要支持多款 H5 游戲引擎,WebGL 標準是無法繞過的,所以這些劣勢暫時不得不接受。另外,微信小游戲也會面臨一樣的問題,相信未來會有蘋果官方的遷移方案,可能在 Metal 上層封裝類 OpenGL 的接口。

目前這套方案還在預研開發中,預計 2022 年內會實現并全面使用。之后不單是 Shopee Games,我們希望在更多的電商場景也能復用這套 3D/GPU 渲染的方案,給用戶創造更豐富多彩的互動玩法。

4. 總結

通過在多款 H5 游戲引擎中做比較,Shopee Games 選擇了更適合業務特點和團隊人才特點 Egret 引擎。

在長期的業務開發運營中,我們為了更好地支持業務需求,對 Egret 引擎進行了定制化改造,包括 bug 修復和公共庫的修改。

優化引擎的同時,為了和官方倉庫保持同步,我們利用了 git 多 remote 倉庫的特性,實現了雙倉庫代碼合并。

再進一步,為了復用成熟的前端 Webpack 構建體系和 CI/CD 流程,我們自研了 Egret-Webpack-CLI,把 Egret 游戲從原來單機本地打包的模式,改為了服務器 Webpack 打包,從而方便復用大量的優秀前端 npm 庫。上述這些創新,都給 Shopee Games 的研發帶來了重大提效。

在 iOS 審核問題上,我們遇到了一些困難,最終通過深度整合 Egret Native 和 Shopee App,順利實現游戲的 Native 化,通過了 App Store 的審核。

總結

以上是生活随笔為你收集整理的Shopee Games 游戏引擎演进之路的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

92国产精品久久久久首页 | 亚洲精品乱码久久久久久蜜桃不爽 | 天天干人人插 | 午夜影院日本 | 99热这里只有精品在线观看 | 色老板在线视频 | 亚洲精品一区中文字幕乱码 | 9999精品| 久久国精品 | 丁香六月激情 | 亚洲国产免费看 | 亚洲黄色免费在线 | 国产亚洲成人精品 | 91福利试看 | 伊色综合久久之综合久久 | 色天天综合久久久久综合片 | 青草视频免费观看 | 国产美女网站在线观看 | 国产成人精品一区在线 | 国产香蕉在线 | 国产精品原创在线 | 欧美韩国日本在线观看 | 日本精品一区二区三区在线观看 | 一区二区网 | 久久久鲁 | 亚洲va在线va天堂 | 免费在线播放视频 | 国产高清视频免费 | 亚洲国产精品一区二区尤物区 | 天堂av在线中文在线 | 美女网站视频一区 | 精品99免费视频 | 久久综合一本 | 天堂资源在线观看视频 | 国产a高清 | 国产黄色片网站 | 97看片吧 | 国产.精品.日韩.另类.中文.在线.播放 | 日韩久久一区二区 | 在线播放视频一区 | 一级黄色片在线观看 | 久久婷婷亚洲 | 狠狠的干狠狠的操 | 久久久久综合网 | 国产最新网站 | 亚洲欧洲精品视频 | 丝袜美腿av | 黄色资源在线 | www.久久99| 久草综合在线观看 | 国产麻豆剧果冻传媒视频播放量 | 色午夜影院 | 午夜免费福利视频 | 欧美在线视频第一页 | 久久综合中文色婷婷 | 国产日本三级 | 亚洲国产成人在线观看 | 国产精品毛片一区二区在线 | 国产精品18久久久久久vr | 日韩免费在线网站 | 91在线观看欧美日韩 | 国产日韩精品一区二区三区在线 | 人人爽人人爽人人爽 | 亚洲欧美偷拍另类 | 亚洲视频,欧洲视频 | 久久久精品亚洲 | 九九三级毛片 | 天天爽天天做 | www欧美日韩 | 久久国产精品99久久久久久进口 | 99精品国产高清在线观看 | 91精品一 | 中文一区二区三区在线观看 | 亚洲 欧美 日韩 综合 | 国产精品videossex国产高清 | 亚洲视频在线看 | 在线播放亚洲 | 久久天天躁狠狠躁夜夜不卡公司 | 中文在线免费一区三区 | 亚洲精品国产精品国自产 | 91久久在线观看 | 国产破处在线视频 | 高清在线观看av | 天天性天天草 | 男女激情片在线观看 | 精品国产一区二区三区四区在线观看 | 国产精品亚洲人在线观看 | 亚洲午夜av | av片免费播放 | 中文字幕在线日本 | 免费观看xxxx9999片 | 97热在线观看| 久久不卡国产精品一区二区 | 在线观看韩日电影免费 | 日韩三级一区 | 永久免费毛片在线观看 | 丁香六月婷婷开心婷婷网 | 精品视频中文字幕 | 粉嫩av一区二区三区四区 | 欧美一级片在线观看视频 | 人人要人人澡人人爽人人dvd | 日韩美精品视频 | 国产一区二区在线视频观看 | 婷婷伊人综合 | 99视频精品免费视频 | 日韩剧情 | 91av视频网站 | 日韩欧美视频在线播放 | 久久成人毛片 | 国产视频在线观看免费 | 日韩亚洲在线视频 | 亚洲精品欧美精品 | 五月婷婷婷婷婷 | 欧美日韩久 | 最新av免费 | 国产精品久久久久久久99 | 91九色成人蝌蚪首页 | 最近av在线 | 九九久| 五月婷婷色综合 | 91av视频在线免费观看 | 亚洲精品18日本一区app | 久久专区| 欧美污污网站 | 精品国产免费一区二区三区五区 | 色 中文字幕| 99国产视频在线 | 四虎5151久久欧美毛片 | 成人中文字幕在线观看 | 伊人黄色网 | 成人黄色在线播放 | 精品国产一区二区三区免费 | 日本aaaa级毛片在线看 | 99久免费精品视频在线观看 | 日日干日日色 | 99国产精品一区 | 日韩.com| 成人免费在线播放 | 久久久久久久久久久久国产精品 | 国产一区福利在线 | 九九免费在线看完整版 | 欧美一级片播放 | 色综合久久88色综合天天6 | 亚洲人久久久 | 欧美日韩1区2区 | 亚洲精品午夜久久久久久久 | 黄色软件在线观看 | 欧美日韩精品区 | 91传媒视频在线观看 | 亚洲人视频在线 | 不卡av电影在线 | 最新日韩在线观看视频 | 欧美日韩国产高清视频 | 欧美精品在线观看免费 | 国内精品久久久久久久影视简单 | 日韩欧美视频在线观看免费 | 一区二区三区中文字幕在线观看 | 伊人天天狠天天添日日拍 | 国产婷婷| 国产一级精品绿帽视频 | 伊人资源视频在线 | 91免费在线视频 | 亚洲最新精品 | 国产九九九视频 | 免费在线观看成人 | 久久国产影院 | 亚洲成人精品久久 | 国产精品一区二区三区在线 | 久久久久黄色 | 又黄又刺激 | 一区二区三区免费在线观看视频 | 色天天综合久久久久综合片 | 亚洲精品视频在 | 欧美另类重口 | 日韩av中文| 五月天婷亚洲天综合网鲁鲁鲁 | 91视频中文字幕 | 亚洲人成人99网站 | 狠狠色丁香婷婷综合最新地址 | 在线免费观看国产 | 国产一区二区三区四区在线 | 在线观看免费观看在线91 | 国产亚洲婷婷 | 91精品国产三级a在线观看 | 日日干av| 日本免费一二三区 | 在线视频精品播放 | 日韩天堂在线观看 | 国产午夜视频在线观看 | 日躁夜躁狠狠躁2001 | 91精品国产91久久久久福利 | 麻豆一精品传二传媒短视频 | 欧美日韩一区二区三区在线免费观看 | 久久短视频 | 成人黄色在线看 | 国产中文字幕在线观看 | 九九热久久久 | 国内精品久久久久影院优 | 免费观看一区 | 国产精品免费一区二区三区在线观看 | 亚洲九九影院 | 亚洲成av人片一区二区梦乃 | a√天堂中文在线 | 在线看黄色av | 国产精品每日更新 | 日韩在线观看中文 | 日日爽天天操 | 丁香久久五月 | 久久性生活片 | 日韩中文字幕第一页 | 久久久久久蜜桃一区二区 | 四虎国产免费 | 久久久精品福利视频 | 欧美孕交vivoestv另类 | 精品国产成人 | 免费福利视频导航 | 国产香蕉av | 99免费在线 | 国产福利91精品一区二区三区 | 91在线超碰| 久久久亚洲麻豆日韩精品一区三区 | 97精品国产97久久久久久 | 最近中文字幕完整高清 | 亚洲精品乱码久久久久久高潮 | 国产91精品久久久久 | 青青河边草观看完整版高清 | 91理论片午午伦夜理片久久 | 日韩中文字幕免费在线播放 | 蜜臀aⅴ国产精品久久久国产 | 91精品国产91久久久久久三级 | 911亚洲精品第一 | 国产精品久久久久久久久久久久午 | 免费男女羞羞的视频网站中文字幕 | 久久影院中文字幕 | 久久久精品小视频 | 日韩一区二区三区免费视频 | 久久好看| 亚洲精品白浆高清久久久久久 | 久热电影| 国产在线播放不卡 | 日韩理论视频 | 久久精品视频网址 | 超碰国产在线观看 | av福利在线免费观看 | 在线播放一区二区三区 | 99热这里只有精品免费 | 日本久久久久 | 亚洲欧美精品一区 | 成人在线播放免费观看 | 97伊人网| 国产aa免费视频 | 日韩性久久| 久久69精品久久久久久久电影好 | 麻豆91在线观看 | 808电影免费观看三年 | 亚洲一区二区三区miaa149 | 色婷婷国产| 亚洲乱码精品久久久久 | 国产免费成人av | 日韩av视屏在线观看 | 国产97色在线 | 国产精品 日韩精品 | 久久精品欧美一区二区三区麻豆 | 日韩精品中文字幕有码 | 成人黄色在线看 | 国产麻豆精品久久一二三 | 视频91| 亚洲一区精品人人爽人人躁 | 久久精品一 | 日韩免费视频 | 久久国产精品网站 | 操久久免费视频 | 97视频在线观看免费 | 美女精品在线 | 女人18片 | 成人精品国产免费网站 | 黄色成人毛片 | 激情综合色播五月 | 久久ww| 国产又黄又爽又猛视频日本 | 在线观看黄色国产 | 亚洲精品国产精品国自产 | 一区二区三区 亚洲 | 久久色视频 | 中文不卡视频在线 | 在线观看韩日电影免费 | 人人看人人草 | 成年人视频在线 | 一区二区视频在线看 | 91视频高清 | 国产手机免费视频 | 成人毛片在线观看视频 | 久久av网 | 午夜精品久久久久久久爽 | 久久免费美女视频 | 色婷婷九月| 久久亚洲免费视频 | 久久久国内精品 | 在线观看一区二区视频 | 97精品国产一二三产区 | 欧美精品久久天天躁 | 久久99国产精品久久99 | 亚洲精品99久久久久久 | 日本精品一二区 | 日韩一级片大全 | 人人模人人爽 | 91成人精品观看 | 91欧美精品 | av电影免费看 | 亚洲情影院 | 91九色成人蝌蚪首页 | 久久综合给合久久狠狠色 | 久久精品一区二区国产 | 天天色天天操天天爽 | 久久精品三 | 99久久久久久久久 | 国产精品成人自产拍在线观看 | www.av免费| 久久任你操 | 国产中文| 激情婷婷av | 国产一级视频在线观看 | 在线国产99 | 国产免费一区二区三区最新 | 黄色网址中文字幕 | 一级α片 | 久久久91精品国产一区二区三区 | 久久久久久久免费看 | 日韩福利在线观看 | 中文字幕在线视频免费播放 | 日韩成人黄色 | 69精品久久久| 久久久国产精品网站 | 公开超碰在线 | 日韩激情片在线观看 | 午夜三级毛片 | 久久精品一区二区三 | 国产精品美女久久久久久网站 | 在线播放视频一区 | 国产精品免费久久久 | 日韩欧美在线高清 | 国产丝袜制服在线 | 很黄很色很污的网站 | 四虎国产永久在线精品 | 国产黄色视| 中文字幕91在线 | 麻豆传媒视频在线免费观看 | 91九色蝌蚪视频网站 | 国产精品成人久久久久久久 | 在线 成人| 少妇bbb搡bbbb搡bbbb | 亚洲免费观看视频 | 免费看久久 | 国产欧美精品一区二区三区 | av免费看网站 | 一区二区三区视频 | 成人免费大片黄在线播放 | 韩国视频一区二区三区 | 欧洲激情综合 | 欧美人人 | 欧美黄色高清 | 一级一片免费观看 | 国产精品久久久久久久久久久久 | 91一区啪爱嗯打偷拍欧美 | 国产小视频在线看 | 国产高清在线一区 | 国产亚洲精品无 | 中文字幕免费成人 | 久久久久久影视 | 欧美黄色高清 | 天天干人人 | av成人动漫在线观看 | 草樱av| 天天干天天射天天操 | 亚洲免费婷婷 | 五月天婷婷狠狠 | 婷婷网五月天 | 精品国产视频在线观看 | 久久成人毛片 | 欧美国产一区在线 | 亚洲视频免费在线看 | 午夜久久电影网 | 国产精品videossex国产高清 | 狠狠狠色丁香综合久久天下网 | 91精品视频一区二区三区 | 国产精品igao视频网入口 | 国产男女无遮挡猛进猛出在线观看 | 日韩av视屏 | 色偷偷人人澡久久超碰69 | 国产96av | 99精品免费在线观看 | 五月天丁香视频 | 色天天久久 | 麻豆91在线 | 91精品在线免费观看 | 国产伦精品一区二区三区… | 在线中文日韩 | 久久tv| 91视频高清免费 | 在线观看日本韩国电影 | 一区二区三区久久精品 | 成人黄性视频 | 日韩精品一区电影 | 人人超在线公开视频 | 日韩精品在线看 | 91丨九色丨蝌蚪丨老版 | 久久精品视频国产 | 在线 高清 中文字幕 | 一级a性色生活片久久毛片波多野 | 国产精彩视频一区二区 | 日韩一区二区三区高清在线观看 | 久久不卡免费视频 | 五月天综合在线 | 国内丰满少妇猛烈精品播放 | www.eeuss影院av撸 | 91精品国产自产91精品 | 日韩网 | 婷婷在线观看视频 | 中文字幕av有码 | 久久综合久久久久88 | 久久免费国产视频 | 91在线免费看片 | 久久视频 | 狠狠色狠狠色综合日日小说 | 欧美一区二区视频97 | 亚洲国产欧美在线人成大黄瓜 | 免费视频久久久 | www.色午夜,com| 国色天香第二季 | 人人射人人澡 | 狠狠色伊人亚洲综合成人 | 在线导航福利 | 日韩中文在线视频 | 91精品人成在线观看 | 久久精品视频网站 | 国产美女在线免费观看 | 美女免费视频观看网站 | 免费在线黄色av | 国产精品久久精品国产 | 麻豆视频免费在线播放 | 狠狠综合久久av | 亚洲最大av | 叶爱av在线 | 91三级在线观看 | 免费国产在线视频 | 狂野欧美激情性xxxx | 不卡中文字幕在线 | 久久黄色片子 | 欧美激情视频一二三区 | 色婷婷成人网 | 97国产大学生情侣酒店的特点 | 在线激情av电影 | 久久99久国产精品黄毛片入口 | 午夜三级毛片 | 又黄又刺激视频 | 五月婷婷综合在线 | 五月综合网 | 91中文字幕永久在线 | 黄网站app在线观看免费视频 | 久久香蕉一区 | 91热爆视频 | 精品a视频 | 成人精品亚洲 | 久久99欧美 | 操久久免费视频 | 久久色中文字幕 | 在线观看日本高清mv视频 | 国产精品高潮呻吟久久av无 | 欧美日韩一二三四区 | 九色在线 | 免费视频一区二区 | 在线观看免费国产小视频 | 九九久久婷婷 | 人人插人人爱 | 成人理论在线观看 | 亚洲激情在线 | 精品一区二区在线免费观看 | 狠狠干成人 | 免费看黄20分钟 | 日韩国产欧美在线播放 | 欧美色一色 | 久久久久久网址 | 日韩大片在线 | www.狠狠色.com | 黄色免费网站大全 | 男女精品久久 | 国产亚洲婷婷 | 欧洲精品码一区二区三区免费看 | 激情综合网天天干 | 国产黄色精品 | 91资源在线 | 亚洲三级av | av免费线看 | 日韩精品免费在线视频 | 五月天精品视频 | 激情自拍av | 亚洲午夜久久久久久久久久久 | 91新人在线观看 | 久久精品综合 | 国产福利a| 91视频免费观看 | 亚洲精品乱码 | 精品国内| 97国产大学生情侣酒店的特点 | 亚洲欧美一区二区三区孕妇写真 | 97视频在线观看播放 | 99国内精品久久久久久久 | 国产99久久九九精品免费 | 黄网站色| 天天躁日日躁狠狠 | 四虎免费在线观看 | 国产自偷自拍 | 久久免费成人精品视频 | 精品免费久久久久 | 欧美一二三专区 | www.天天操 | 国产小视频免费观看 | 欧美日韩一区二区三区不卡 | 国产精品久久久久久久久岛 | 欧美精品久久久久久 | 在线视频1卡二卡三卡 | 亚洲精品高清视频 | 中文字幕日韩有码 | 亚洲综合视频网 | 亚洲每日更新 | 在线成人一区二区 | 丁香激情综合久久伊人久久 | 丝袜美腿在线视频 | 久久99电影| 999久久国产精品免费观看网站 | 色婷婷播放 | 国产精品丝袜久久久久久久不卡 | 亚洲人在线视频 | 中文视频一区二区 | av中文字幕亚洲 | 国产中文字幕视频在线 | 久久久久在线观看 | 中文字幕第 | 国产 一区二区三区 在线 | 一本一本久久a久久 | 四虎影视精品 | 亚洲成av人影院 | 91av久久 | 国产日韩精品视频 | 视频高清 | 在线视频日韩一区 | 午夜久久福利 | 精品视频资源站 | 久久dvd| 精品久久1 | www.亚洲激情.com | 亚洲草视频 | 亚洲国产成人久久综合 | 欧美色一色 | 亚洲国产av精品毛片鲁大师 | 欧美日在线观看 | 国产伦理一区二区三区 | 又黄又爽又湿又无遮挡的在线视频 | 免费黄a大片 | 少妇性bbb搡bbb爽爽爽欧美 | 亚洲一区在线看 | 九九亚洲视频 | 国产精品福利午夜在线观看 | 国产亚洲人成网站在线观看 | 亚洲成人av在线电影 | 精品一区av | 免费黄色av | 亚洲精品视频在 | 国产高清 不卡 | 一区二区三区视频网站 | 国产三级精品在线 | www视频免费在线观看 | 久久久久久久99精品免费观看 | av无限看 | 在线日本v二区不卡 | 99久久99久国产黄毛片 | 91久久精品日日躁夜夜躁国产 | 亚洲一区二区视频 | 五月婷婷综合在线视频 | 色综合久久88色综合天天人守婷 | 91九色视频在线观看 | 亚洲国产mv| 国产精品久久婷婷六月丁香 | 综合久久2023 | 在线免费观看欧美日韩 | 久久99国产综合精品免费 | 四季av综合网站 | 91看片在线| 久久理论视频 | 国产超碰在线观看 | av五月婷婷| 久久久久久久国产精品影院 | 久久96国产精品久久99软件 | 国产精品久久久久永久免费 | 成人网在线免费视频 | 久久精品中文字幕少妇 | 精品国产一区在线观看 | 欧美视频国产视频 | 中文字幕观看av | 国产小视频精品 | 国产成人精品亚洲日本在线观看 | 免费看片网址 | 久久精品2 | 一级黄色a视频 | 天堂av在线网 | 最新日韩在线 | 天天综合视频在线观看 | 日韩大片在线免费观看 | 伊人五月天| 91伊人久久大香线蕉蜜芽人口 | 日日操天天操夜夜操 | 亚洲精品mv在线观看 | 亚洲高清色综合 | 久草在线免费新视频 | 国产精品美女在线观看 | 国产一级片在线播放 | 亚洲精品欧洲精品 | 欧美精品在线观看 | 99在线热播 | 亚洲一区动漫 | 特黄一级毛片 | 精品久久久免费视频 | 国产男女无遮挡猛进猛出在线观看 | 粉嫩av一区二区三区四区在线观看 | 久久69精品 | 欧美天天综合网 | 国产xxxxx在线观看 | 国产自在线 | 一本一道波多野毛片中文在线 | 午夜精品一区二区三区在线 | 亚洲综合欧美精品电影 | 久久九九久久 | 精品96久久久久久中文字幕无 | 又黄又爽的免费高潮视频 | 国产中文欧美日韩在线 | 91麻豆国产 | av免费试看 | 五月婷婷欧美视频 | 天天插一插| 中文字幕精品一区二区精品 | 超碰人人av| 欧美一级日韩三级 | 一区二区 不卡 | 国产精品久久久久一区二区三区共 | 91视频91自拍 | 国产日韩欧美视频 | 成年人免费电影在线观看 | 成人在线视频在线观看 | 91在线免费观看国产 | 99久久9 | 亚洲国产日韩在线 | 成人午夜电影免费在线观看 | 1024手机基地在线观看 | 亚洲国产日韩精品 | 国产精品久久久久av | 一本之道乱码区 | 中文字幕日韩av | www麻豆视频 | 国产亚洲精品久久久网站好莱 | 91禁在线看| 国产精品日韩在线 | 欧美午夜精品久久久久久浪潮 | 日韩欧美精品在线 | 国产伦精品一区二区三区在线 | 91在线在线观看 | av资源网在线播放 | 91av电影在线 | 天天色天天射天天综合网 | www五月天 | 午夜精品久久久久久久久久 | 81精品国产乱码久久久久久 | 日韩免费看片 | 国产精品麻豆三级一区视频 | 日韩高清av | 一本一本久久aa综合精品 | 91爱爱网址 | 91视频午夜 | 免费a v在线 | 99精品国产兔费观看久久99 | 欧美午夜理伦三级在线观看 | av色一区 | 中文字幕日本在线观看 | 国产亚洲精品久久久久久移动网络 | 91自拍成人 | 色天堂在线视频 | 国产成年人av | 在线观看中文字幕一区二区 | 久久久久二区 | 亚洲va欧洲va国产va不卡 | 91丨九色丨蝌蚪丰满 | 亚洲综合色站 | 欧美福利片在线观看 | 欧美日韩国产综合网 | 精品国产诱惑 | 丁香高清视频在线看看 | 97人人视频 | 成人黄大片视频在线观看 | 色婷婷六月 | 精品日韩视频 | 日本公妇在线观看高清 | 日韩毛片久久久 | 一级黄色电影网站 | 69av免费视频 | 久久久久久高清 | 日韩r级电影在线观看 | 久久伊人免费视频 | 一区二区欧美在线观看 | 国产精彩在线视频 | 久久在线电影 | 日韩精品一区二区三区视频播放 | 成人av手机在线 | 国产一区二区在线免费播放 | 亚洲天堂免费视频 | 久草免费电影 | 狠狠色丁香久久综合网 | 波多野结衣视频一区二区三区 | 久久亚洲免费 | 亚洲视频每日更新 | av久久在线 | 欧美视频xxx| 天天舔夜夜操 | 婷婷在线观看视频 | 午夜免费电影院 | 99精品视频精品精品视频 | 在线国产视频一区 | 人人插人人射 | 最新国产视频 | 免费高清在线观看电视网站 | 精品99久久久久久 | av在线免费观看黄 | 国产一区二区在线免费观看 | 狠狠操天天操 | 中文网丁香综合网 | 日韩欧美一区二区三区在线 | 国产特级毛片aaaaaa高清 | 亚洲精品国产精品国产 | 一 级 黄 色 片免费看的 | 久久免费播放 | 日韩国产高清在线 | 亚洲黄色区 | 国产色婷婷在线 | 国产黄在线免费观看 | 欧美日韩另类视频 | www.天天干| 视频在线观看一区 | 国产视频黄 | 国产91全国探花系列在线播放 | 天天干夜夜想 | 7777xxxx| 亚洲丝袜一区二区 | 国产精品11 | 人人搞人人爽 | 午夜视频免费在线观看 | 国产视频久久久 | 伊人色**天天综合婷婷 | 高清不卡一区二区在线 | 国产精品国产三级国产不产一地 | 久久av中文字幕片 | 国产美女视频免费 | 国产二区视频在线观看 | 免费日韩视 | av中文字幕免费在线观看 | 999电影免费在线观看2020 | 免费观看完整版无人区 | 色综合久久88色综合天天免费 | 99久免费精品视频在线观看 | 天天干,天天草 | 国产 日韩 在线 亚洲 字幕 中文 | 波多野结衣在线中文字幕 | 色天天综合网 | 天堂网一区 | 日韩伦理一区二区三区av在线 | 国产黄色大片免费看 | 9999在线观看 | 久久久在线 | 欧美男同视频网站 | 91久久一区二区 | 精品久久久99 | 激情欧美一区二区免费视频 | 亚洲综合色丁香婷婷六月图片 | 黄色av播放 | 国产精品无av码在线观看 | 视频在线日韩 | 美女网站在线观看 | 免费av黄色 | 91视频 - 114av| 欧美一级高清片 | 国内揄拍国产精品 | 日韩欧美精品在线观看 | 中文字幕乱码电影 | 午夜在线观看一区 | 免费在线观看毛片网站 | 欧美激情精品久久久 | 91日韩精品 | 在线成人一区二区 | 免费日韩精品 | 久久不色 | 亚欧洲精品视频在线观看 | 国产精品一区二区视频 | 色com网 | 欧美在线视频一区二区 | 国产小视频在线观看 | www夜夜| 亚洲精品乱码久久久久久蜜桃不爽 | 中文国产字幕在线观看 | 手机av在线网站 | 国产91精品欧美 | 色噜噜狠狠狠狠色综合 | 一 级 黄 色 片免费看的 | 美女视频a美女大全免费下载蜜臀 | 日批在线看 | 日韩极品视频在线观看 | 一区二区三区www | www.在线观看av | 婷婷在线不卡 | 日韩最新中文字幕 | 中文字幕久久精品 | 亚洲一级理论片 | 精品久久久久久久久久久久久久久久 | 亚州国产精品 | 一区二区三区四区五区在线 | 日日摸日日碰 | 久草在线观看资源 | 人人操日日干 | 久艹视频在线观看 | 制服丝袜欧美 | 六月色丁 | 色妞色视频一区二区三区四区 | 精品国产1区二区 | 亚洲精品大全 | 黄色亚洲大片免费在线观看 | 伊人亚洲综合网 | 国产成人精品av久久 | 久久激五月天综合精品 | 麻豆高清免费国产一区 | 97超碰资源 | 97视频人人免费看 | 国产精品久久久久久久久久ktv | 亚洲成av人影院 | 国产精品美女在线 | 天天av综合网 | 日日夜夜精品视频天天综合网 | 黄污在线看 | 日韩欧美一区二区在线 | 亚洲va欧美va | 国产精品黄色 | 97国产精品亚洲精品 | 精品久久久久久综合日本 | 免费精品视频在线 | 国产欧美三级 | 成人av直播 | 在线观看亚洲国产精品 | 亚洲精品综合欧美二区变态 | 免费在线观看成人av | 天天操狠狠操网站 | 天天做天天爱夜夜爽 | 黄色.com | 久久精品一区二区三区中文字幕 | 日韩h在线观看 | 国产黄| 国产精品第7页 | 国产精品成人一区二区 | 亚洲理论影院 | 久久综合亚洲鲁鲁五月久久 | 日韩,精品电影 | 狠狠狠色丁香综合久久天下网 | 激情久久网 | 国产精品久久毛片 | 国产午夜视频在线观看 | 日韩va亚洲va欧美va久久 | 日韩一区二区三 | 国产精品成人一区 | 天天摸天天操天天舔 | 久久久久久免费毛片精品 | 精品国产精品国产偷麻豆 | 国产乱老熟视频网88av | 四虎在线永久免费观看 | 六月丁香在线观看 | 9999国产精品 | 超碰97在线资源 | 久久视频在线免费观看 | 伊人五月在线 | 日日夜夜天天久久 | 天天草综合网 | 久久国产免 | 日本在线观看中文字幕 | 国产精品成久久久久 | 草久久久久久久 | 久草视频免费看 | 国产高清在线观看av | 久久久久久久99精品免费观看 | 97精品超碰一区二区三区 | 国产精品一区二区三区电影 | 麻豆系列在线观看 | 毛片一级免费一级 | 久久精品99久久久久久 | 97香蕉视频 | 成人观看 | 中文字幕在线观 | www.色就是色 | 亚洲午夜久久久影院 | 婷婷六月激情 | .精品久久久麻豆国产精品 亚洲va欧美 | 97超碰在线久草超碰在线观看 | 综合久久精品 | 人人超在线公开视频 | 欧美a级成人淫片免费看 | 免费成人看片 | 国外成人在线视频网站 | 男女啪啪免费网站 | 国产精品福利在线观看 | 日韩av伦理片 | 99视频一区二区 | 婷婷五天天在线视频 | 国产黑丝一区二区三区 | 91成人天堂久久成人 | 国产精品91一区 | 免费看wwwwwwwwwww的视频 久久久久久99精品 91中文字幕视频 | 欧美色图亚洲图片 | 久久久久这里只有精品 | 五月开心网 | 69亚洲视频 | 午夜黄色影院 | 蜜臀av网站| 国产精品久久久久免费观看 | 91免费观看视频网站 | 在线免费看黄网站 | 日韩免费一区二区在线观看 | 国产精品毛片一区视频播 | 国产视频日韩 | 免费黄色小网站 | 成人午夜毛片 | 最近中文字幕mv免费高清在线 | 欧美日韩国产高清视频 | 日韩欧美精品一区二区三区经典 | 日韩在线观看网站 | 亚洲精品一区二区三区在线观看 | 久久r精品| 青青视频一区 | 国产99精品| 激情一区二区三区欧美 | 日日爽天天 | 亚洲女人天堂成人av在线 | 六月色丁 | 亚洲一区 影院 | 夜夜躁日日躁狠狠久久88av | 97在线免费视频 | 在线观看视频一区二区 | 人人爱爱 | 欧美一二区在线 | 国产女人40精品一区毛片视频 | 在线视频手机国产 | 中文字幕色网站 | 不卡av在线 | 久久久亚洲影院 | 999日韩| 欧美a级在线 | 国外调教视频网站 | 808电影免费观看三年 | 国产xx在线| 国产精品黄色在线观看 | 91精品视频免费 | 特级西西www44高清大胆图片 | 色综合久久久久久久 | 国产免费激情久久 | 99精品国产一区二区 | 在线国产99 | 日韩欧美成 | 美女在线观看网站 | 久久免费在线观看 | 精品国产视频一区 | 美女黄网站视频免费 | 国产精品九色 | 午夜久久网 | 欧美小视频在线观看 | 91成人在线免费观看 | 91看国产| 久久福利小视频 | 欧美a√在线 | 国产亚洲人 | 久久午夜影视 | 91高清在线看 | 国产麻豆视频免费观看 | 美女网站一区 | 99精品国产99久久久久久97 | 国产在线久草 | 亚洲三级在线 | 国产无遮挡又黄又爽在线观看 | 久久久久久久网 | 久久久久久蜜av免费网站 | 久精品一区 | 久久国产99 | 人成免费网站 | 国产美女精品视频 | 国产在线欧美 | 久久精品久久国产 | 色偷偷88欧美精品久久久 | 日韩精品字幕 |