无主之地2配置高吗|看真人裸体BBBBB|秋草莓丝瓜黄瓜榴莲色多多|真人強奷112分钟|精品一卡2卡3卡四卡新区|日本成人深夜苍井空|八十年代动画片

網(wǎng)易首頁(yè) > 網(wǎng)易號(hào) > 正文 申請(qǐng)入駐

【厚積薄發(fā)】為什么Android游戲畫(huà)面在30幀運(yùn)行時(shí)有抖動(dòng)現(xiàn)象

0
分享至

這是第450篇UWA技術(shù)知識(shí)分享的推送,精選了UWA社區(qū)、UWA AI問(wèn)答的熱門話題等技術(shù)知識(shí)點(diǎn),助力大家更全面地掌握和學(xué)習(xí)。

UWA社區(qū)主頁(yè):community.uwa4d.com

UWA QQ群:793972859

本期目錄:

  • 為什么Android游戲畫(huà)面在30幀運(yùn)行時(shí)有抖動(dòng)現(xiàn)象

  • 團(tuán)結(jié)引擎VS Skinning開(kāi)啟ENABLE_VS_SKINNING_MORE_BONES后,性能反而下降

From UWA AI 問(wèn)答

Q1:Android平臺(tái)下,游戲以30幀運(yùn)行時(shí),即便整體性能穩(wěn)定,仍普遍存在畫(huà)面抖動(dòng)現(xiàn)象,想探討一下這可能是由于什么原因造成的?

A:畫(huà)面抖動(dòng)(Jitter)是Android平臺(tái)30幀游戲中常見(jiàn)但易被忽視的問(wèn)題,即便整體FPS穩(wěn)定,仍可能因以下原因?qū)е乱曈X(jué)上的不流暢或抖動(dòng)感:

1. 幀生成時(shí)間不均勻(Frame Pacing問(wèn)題)

這是最核心的原因。即使平均幀率為30FPS,若幀的生成間隔不均勻(如一幀耗時(shí)28ms,下一幀耗時(shí)38ms),會(huì)導(dǎo)致視覺(jué)上出現(xiàn)“微卡頓”或“抖動(dòng)”。Android設(shè)備尤其在高刷新率屏幕(如90Hz、120Hz)下,若未正確配置幀同步策略,GPU與顯示子系統(tǒng)之間的幀提交節(jié)奏失配,極易引發(fā)此問(wèn)題。

解決方案:

  • 確保關(guān)閉Optimized Frame Pacing(部分模擬器和低端設(shè)備存在兼容性問(wèn)題,實(shí)測(cè)可緩解抖動(dòng))。

  • 使用Choreographer回調(diào)來(lái)對(duì)齊VSync信號(hào),確保幀更新時(shí)機(jī)精準(zhǔn)。

  • 在Unity中,避免僅依賴Application.targetFrameRate=30,因其在動(dòng)態(tài)刷新率設(shè)備上可能導(dǎo)致幀率倍數(shù)下降(如從30→15)。

可結(jié)合定時(shí)重設(shè)幀率策略:

IEnumerator SetFrameRatePeriodically()
{
while (true)
{
yield return new WaitForSeconds(10);
Application.targetFrameRate = 31;
yield return new WaitForSeconds(0.1f);
Application.targetFrameRate = 30;
}
}

2. GPU與CPU工作負(fù)載波動(dòng)引起幀時(shí)間波動(dòng)

即使平均性能達(dá)標(biāo),若每幀CPU或GPU耗時(shí)波動(dòng)大(如某些幀CPU耗時(shí)接近33ms,其他幀僅15ms),會(huì)造成幀間隔不一致,表現(xiàn)為抖動(dòng)。

排查建議:

  • 使用UWA GOT Online的CPU每幀耗時(shí)曲線>40ms幀數(shù)占比指標(biāo),分析是否存在高波動(dòng)性。

  • 檢查是否存在偶發(fā)性任務(wù)(如GC、資源加載、邏輯計(jì)算集中爆發(fā)),導(dǎo)致單幀驟增。

3. 渲染管線與垂直同步機(jī)制沖突

Android設(shè)備廠商常自定義顯示策略,部分機(jī)型在非原生刷新率(如60Hz設(shè)備跑30Hz)時(shí),系統(tǒng)VSync調(diào)度可能出現(xiàn)偏差,導(dǎo)致幀呈現(xiàn)時(shí)間錯(cuò)位。

優(yōu)化方向:

  • 避免頻繁切換目標(biāo)幀率,保持幀率恒定。

  • 在支持的設(shè)備上嘗試使用SurfaceFlinger相關(guān)調(diào)試工具觀察實(shí)際顯示幀時(shí)序。

  • 若使用自定義渲染管線,檢查后處理、陰影等異步操作是否引入延遲。

4. 輸入與渲染不同步

觸摸輸入更新頻率(通常60Hz或更高)與30Hz渲染不同步,可能導(dǎo)致操作反饋延遲感疊加視覺(jué)抖動(dòng)。

改進(jìn)措施:

  • 盡量將關(guān)鍵UI更新與渲染幀對(duì)齊。

  • 對(duì)高頻輸入做插值或預(yù)測(cè)處理,提升交互平滑度。

綜上,畫(huà)面抖動(dòng)多源于幀間時(shí)間不一致性而非平均幀率不足。建議優(yōu)先通過(guò)UWA性能報(bào)告中的Jank均值>40ms幀數(shù)占比CPU每幀耗時(shí)曲線進(jìn)行量化分析,并針對(duì)性優(yōu)化幀生成節(jié)奏與負(fù)載均衡。

Q2:有什么解決方案?

A:針對(duì)Android平臺(tái)30幀下畫(huà)面抖動(dòng)問(wèn)題,可采取以下系統(tǒng)性解決方案:

1. 精準(zhǔn)控制幀率同步(核心措施)

  • 關(guān)閉Optimized Frame Pacing:該功能在部分設(shè)備(如MuMu模擬器)存在兼容性問(wèn)題,易導(dǎo)致幀提交延遲。在Player Settings中禁用此選項(xiàng)可顯著改善抖動(dòng)。

  • 使用Choreographer對(duì)齊VSync:通過(guò)Android原生API確保每幀更新與系統(tǒng)刷新信號(hào)同步,避免因調(diào)度偏差導(dǎo)致的幀間隔不均。

  • 周期性重設(shè)目標(biāo)幀率:應(yīng)對(duì)動(dòng)態(tài)刷新率設(shè)備(如120Hz降為60Hz時(shí)30幀變15幀),可定時(shí)重置targetFrameRate以強(qiáng)制系統(tǒng)重新計(jì)算:

IEnumerator SetFrameRate()
{
while (true)
{
yield return new WaitForSeconds(10);
Application.targetFrameRate = 31;
yield return new WaitForSeconds(0.1f);
Application.targetFrameRate = 30;
}
}

2. 優(yōu)化渲染負(fù)載與資源管理

  • 降低GPU Skin等高負(fù)載特效密度:大量骨骼蒙皮或復(fù)雜Shader會(huì)加劇幀間波動(dòng),建議在低端設(shè)備上動(dòng)態(tài)降級(jí)。

  • 使用RenderTexture替代Varying插值寫(xiě)回:避免Shader頻繁讀寫(xiě)主存造成帶寬壓力,將所需參數(shù)繪制到GlobalTexture中復(fù)用。

  • 調(diào)整Graphics Quality設(shè)置:關(guān)閉非必要的后處理效果(如動(dòng)態(tài)陰影、抗鋸齒),減少單幀渲染開(kāi)銷。

3. 避免運(yùn)行時(shí)性能突變

  • 防止GC集中觸發(fā):減少堆內(nèi)存分配,避免匿名函數(shù)、裝箱操作;使用對(duì)象池管理高頻創(chuàng)建/銷毀對(duì)象。

  • 異步加載資源:通過(guò)AssetBundle或Addressables分幀加載,避免單幀卡頓。

  • 限制后臺(tái)下載并發(fā)數(shù):若使用BackgroundDownload,應(yīng)采用任務(wù)隊(duì)列+線程池模式,控制同時(shí)下載數(shù)量(如≤5個(gè)),防止IO阻塞主線程。

4. 監(jiān)控與驗(yàn)證工具

  • 使用UWA GOT Online報(bào)告分析CPU耗時(shí)曲線>40ms幀占比Jank指標(biāo),定位幀時(shí)間波動(dòng)源頭。

  • 啟用UWA本地資源檢測(cè),排查冗余Shader變體或大紋理占用。

  • 在真機(jī)環(huán)境中啟用Perfetto或Systrace,觀察SurfaceFlinger合成節(jié)奏是否穩(wěn)定。

綜上,解決抖動(dòng)需從幀生成節(jié)奏控制負(fù)載均衡系統(tǒng)兼容性適配三方面入手,優(yōu)先確保幀間隔一致性,再逐步優(yōu)化資源與邏輯開(kāi)銷。

分享鏈接 :

https://www.uwa4d.com/main/uwa-shared.html?shareId=a93edb8c-708a-4dd5-b999-c34331f41bb9

From問(wèn)答社區(qū)

Q:ENABLE_VS_SKINNING關(guān)鍵字最多支持單個(gè)SkinnedMeshRenderer 64根骨骼,所以需要使用ENABLE_VS_SKINNING_MORE_BONES。測(cè)試60個(gè)單位每個(gè)單位骨骼150+,開(kāi)啟后,iPhone XR幀率只有5fps,未開(kāi)啟時(shí)幀率20

fps,產(chǎn)生了負(fù)優(yōu)化,會(huì)是什么原因?

A: 使用UWA AI問(wèn)答的功能嘗試解讀這個(gè)問(wèn)題。

分享鏈接:


https://www.uwa4d.com/main/uwa-shared.html?shareId=b341fe8e-c27b-4c18-8d09-9abdcf048ba4

問(wèn)題分析:

1. 頂點(diǎn)著色器計(jì)算量激增

  • 開(kāi)啟ENABLE_VS_SKINNING_MORE_BONES后,Unity會(huì)切換到更復(fù)雜的頂點(diǎn)著色器路徑,以處理每頂點(diǎn)更多骨骼影響。

  • 每個(gè)頂點(diǎn)的蒙皮計(jì)算為:輸出位置 = Σ(權(quán)重_i × 骨骼變換矩陣_i × 本地位置)。當(dāng)單個(gè)模型骨骼數(shù)達(dá)150+,即使每個(gè)頂點(diǎn)僅受4根骨骼影響,GPU仍需加載并計(jì)算大量骨骼矩陣。

  • 這導(dǎo)致:

    • ALU指令數(shù)大幅上升,超出移動(dòng)端GPU執(zhí)行能力;

    • 顯存帶寬壓力劇增,頻繁讀取骨骼矩陣紋理或UBO;

    • 著色器編譯生成低效代碼,尤其在舊版Metal/OpenGL ES驅(qū)動(dòng)下。

2. 硬件性能瓶頸凸顯

  • iPhone XR搭載A12芯片,其GPU性能有限,尤其對(duì)高ALU和帶寬需求場(chǎng)景敏感。

  • 60個(gè)單位×150+骨骼 → 總骨骼數(shù)超9000,遠(yuǎn)超常見(jiàn)角色批次規(guī)模。

  • GPU每幀需完成:

    • 數(shù)千個(gè)骨骼矩陣上傳(若未合批);

    • 大量頂點(diǎn)著色器并行運(yùn)行;

    • 渲染管線等待數(shù)據(jù)就緒,造成Gfx.WaitForPresentOnGfxThread延遲飆升。

3. Unity內(nèi)置GPU Skinning機(jī)制缺陷

  • Unity原生的GPU Skinning(含ENABLE_VS_SKINNING系列宏)在移動(dòng)平臺(tái)優(yōu)化不足:

    • 未有效利用現(xiàn)代API(如Metal Argument Buffers)減少綁定開(kāi)銷;

    • 缺乏對(duì)實(shí)例化與多對(duì)象批量處理的深度整合;

    • 在復(fù)雜角色場(chǎng)景下,反而增加CPU-GPU同步負(fù)擔(dān)。

優(yōu)化建議:

優(yōu)先關(guān)閉ENABLE_VS_SKINNING_MORE_BONES,采用替代方案。

1. 降低骨骼數(shù)量(資源層)

  • 與美術(shù)協(xié)作,通過(guò)減骨工具將非關(guān)鍵區(qū)域骨骼合并或移除;

  • 目標(biāo)控制單模型骨骼數(shù)在75以內(nèi),確保可使用標(biāo)準(zhǔn)ENABLE_VS_SKINNING路徑。

2. 使用自定義GPU Instancing + GPU Skinning

  • 參考UWA開(kāi)源方案,實(shí)現(xiàn)基于Compute Shader的骨骼動(dòng)畫(huà)計(jì)算;

  • 結(jié)合GPU Instancing批量渲染相同怪物類型,顯著降低DrawCall與動(dòng)畫(huà)更新開(kāi)銷;

  • 可同時(shí)規(guī)避Animator.Update和MeshSkinning.Update的CPU瓶頸。

3. 啟用QualitySettings.skinWeights = 4 Bones并導(dǎo)入時(shí)鎖定

  • 在Model Import Settings中設(shè)置Skin Weights為Standard (4 Bones),避免運(yùn)行時(shí)冗余計(jì)算;

  • 禁止使用Auto模式導(dǎo)致動(dòng)態(tài)降級(jí)開(kāi)銷。

4. 控制屏幕內(nèi)更新范圍

  • 設(shè)置SkinnedMeshRenderer.updateWhenOffscreen = false,停用屏幕外角色的動(dòng)畫(huà)計(jì)算;

  • 配合LOD系統(tǒng),在遠(yuǎn)處使用簡(jiǎn)化骨骼版本。

5. 考慮動(dòng)畫(huà)共享技術(shù)

  • 對(duì)同類角色,使用統(tǒng)一動(dòng)畫(huà)狀態(tài)源,其它實(shí)例通過(guò)CopyPose復(fù)用結(jié)果;

  • 可結(jié)合對(duì)象池管理,進(jìn)一步減少Animator組件數(shù)量。

?? 注意:ENABLE_VS_SKINNING_MORE_BONES應(yīng)僅用于極少數(shù)特例角色,且需嚴(yán)格測(cè)試目標(biāo)設(shè)備表現(xiàn)。常規(guī)項(xiàng)目不建議開(kāi)啟。

有經(jīng)驗(yàn)的朋友歡迎轉(zhuǎn)至社區(qū)交流:

https://answer.uwa4d.com/question/68f9a7c9244ce21ce9ec0937

無(wú)論是社區(qū)里開(kāi)發(fā)者們的互助討論,還是AI基于知識(shí)沉淀的快速反饋,核心都是為了讓每一個(gè)技術(shù)難題都有解、每一次踩坑都有回響。本期分享分別來(lái)自UWA AI問(wèn)答和UWA問(wèn)答社區(qū),希望這些從真實(shí)開(kāi)發(fā)場(chǎng)景中提煉的經(jīng)驗(yàn),能直接幫你解決當(dāng)下的技術(shù)卡點(diǎn),也讓你在遇到同類問(wèn)題時(shí),能更高效地找到破局方向。

封面圖來(lái)源于網(wǎng)絡(luò)

今天的分享就到這里。生有涯而知無(wú)涯,在漫漫的開(kāi)發(fā)周期中,我們遇到的問(wèn)題只是冰山一角,UWA社區(qū)愿伴你同行,一起探索分享。歡迎更多的開(kāi)發(fā)者加入U(xiǎn)WA社區(qū)。

UWA官網(wǎng):www.uwa4d.com

UWA社區(qū):community.uwa4d.com

UWA學(xué)堂:edu.uwa4d.com

點(diǎn)擊下方名片關(guān)注我們,將我設(shè)為星標(biāo),及時(shí)接收小編每日推送哦,性能優(yōu)化不迷路~

近期精彩回顧

【學(xué)堂上新】

【充電一刻】

【厚積薄發(fā)】

【厚積薄發(fā)】


特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關(guān)推薦
熱點(diǎn)推薦
Shams:詹姆斯尚未收到來(lái)自湖人的合同報(bào)價(jià)

Shams:詹姆斯尚未收到來(lái)自湖人的合同報(bào)價(jià)

北青網(wǎng)-北京青年報(bào)
2026-06-26 07:56:08
史上最貴世界杯,卻有1.4萬(wàn)人免費(fèi)包廂看球

史上最貴世界杯,卻有1.4萬(wàn)人免費(fèi)包廂看球

體育產(chǎn)業(yè)生態(tài)圈
2026-06-25 22:35:54
祁宏近況:定居上海做青訓(xùn),50歲鋒芒褪去,妻子不離不棄等他5年

祁宏近況:定居上海做青訓(xùn),50歲鋒芒褪去,妻子不離不棄等他5年

胡一舸南游y
2026-06-25 23:22:44
電影《抓特務(wù)》資本曝光!馮小剛布局30年,被當(dāng)炮灰的不止是韓紅

電影《抓特務(wù)》資本曝光!馮小剛布局30年,被當(dāng)炮灰的不止是韓紅

秋姐居
2026-06-25 16:41:08
71歲盧卡申科長(zhǎng)期離境!交往22歲嫩模,讓他開(kāi)始相信愛(ài)情?

71歲盧卡申科長(zhǎng)期離境!交往22歲嫩模,讓他開(kāi)始相信愛(ài)情?

大江看潮
2026-06-25 08:32:25
空調(diào)“鋁代銅”爭(zhēng)議持續(xù)發(fā)酵 格力、松下、海爾三家立場(chǎng)清晰

空調(diào)“鋁代銅”爭(zhēng)議持續(xù)發(fā)酵 格力、松下、海爾三家立場(chǎng)清晰

鰲頭財(cái)經(jīng)
2026-06-23 17:41:39
Shams:里夫斯收到了多份頂薪合同,如果湖人不續(xù)約他可能去活塞

Shams:里夫斯收到了多份頂薪合同,如果湖人不續(xù)約他可能去活塞

懂球帝
2026-06-25 14:53:10
救命,這國(guó)產(chǎn)劇太裝了,居然還熱播第一?

救命,這國(guó)產(chǎn)劇太裝了,居然還熱播第一?

獨(dú)立魚(yú)
2026-06-25 00:45:49
C羅進(jìn)球瞬間,妻子一個(gè)舉動(dòng)讓億萬(wàn)人感動(dòng):難怪浪子收心只選她

C羅進(jìn)球瞬間,妻子一個(gè)舉動(dòng)讓億萬(wàn)人感動(dòng):難怪浪子收心只選她

東方不敗然多多
2026-06-25 15:42:51
國(guó)家出手整治!娛樂(lè)圈全部取消藝名,馮遠(yuǎn)征的話終于有人信了

國(guó)家出手整治!娛樂(lè)圈全部取消藝名,馮遠(yuǎn)征的話終于有人信了

鄉(xiāng)野小珥
2026-06-26 02:49:58
婚禮前一周被退婚,30歲女生蹲地痛哭:親戚幾句話毀了我兩年感情

婚禮前一周被退婚,30歲女生蹲地痛哭:親戚幾句話毀了我兩年感情

有態(tài)度網(wǎng)友19Dsym
2026-06-25 18:41:37
稀土歸零5個(gè)月,光刻膠暴跌95%:中日互相卡脖子,誰(shuí)先扛不住?

稀土歸零5個(gè)月,光刻膠暴跌95%:中日互相卡脖子,誰(shuí)先扛不住?

小陸搞笑日常
2026-06-26 03:38:03
倒查3年,江蘇多所高校排查哲學(xué)社科領(lǐng)域抄襲剽竊、數(shù)據(jù)造假等問(wèn)題

倒查3年,江蘇多所高校排查哲學(xué)社科領(lǐng)域抄襲剽竊、數(shù)據(jù)造假等問(wèn)題

澎湃新聞
2026-06-25 22:00:30
《火遮眼》超越《哪吒》,北美票房近4000萬(wàn),目前勉強(qiáng)回本

《火遮眼》超越《哪吒》,北美票房近4000萬(wàn),目前勉強(qiáng)回本

影視高原說(shuō)
2026-06-25 14:59:30
日本簽運(yùn)太背!無(wú)論是小組第幾名晉級(jí):都將面對(duì)世界頂級(jí)強(qiáng)隊(duì)

日本簽運(yùn)太背!無(wú)論是小組第幾名晉級(jí):都將面對(duì)世界頂級(jí)強(qiáng)隊(duì)

邱澤云
2026-06-25 22:46:00
外資調(diào)倉(cāng)!大摩、高盛增持A股名單曝光

外資調(diào)倉(cāng)!大摩、高盛增持A股名單曝光

21世紀(jì)經(jīng)濟(jì)報(bào)道
2026-06-26 01:15:34
68歲馮小剛新片《抓特務(wù)》遇冷,業(yè)內(nèi)發(fā)聲?shū)Q不平,評(píng)論區(qū)徹底翻車

68歲馮小剛新片《抓特務(wù)》遇冷,業(yè)內(nèi)發(fā)聲?shū)Q不平,評(píng)論區(qū)徹底翻車

小徐講八卦
2026-06-24 17:02:10
1分墊底!7分頭名!但全世界都問(wèn)加拿大:你是怎么混進(jìn)去的?

1分墊底!7分頭名!但全世界都問(wèn)加拿大:你是怎么混進(jìn)去的?

林子說(shuō)事
2026-06-25 12:13:11
輪到韓國(guó)人做算術(shù)題了!韓球迷:這3種情況發(fā)生其一,我們就出局

輪到韓國(guó)人做算術(shù)題了!韓球迷:這3種情況發(fā)生其一,我們就出局

全景體育V
2026-06-25 16:33:25
巴拉格:我認(rèn)為梅西會(huì)參加2030世界杯,在阿根廷本土打揭幕戰(zhàn)

巴拉格:我認(rèn)為梅西會(huì)參加2030世界杯,在阿根廷本土打揭幕戰(zhàn)

懂球帝
2026-06-25 18:37:07
2026-06-26 08:08:49
侑虎科技UWA incentive-icons
侑虎科技UWA
游戲/VR性能優(yōu)化平臺(tái)
1590文章數(shù) 987關(guān)注度
往期回顧 全部

游戲要聞

《零度空間》PC配置需求公布 3060Ti就能爽玩

頭條要聞

上海男生帶氣胸引流管坐120高考 裸分618分有望上清華

頭條要聞

上海男生帶氣胸引流管坐120高考 裸分618分有望上清華

體育要聞

世界杯最動(dòng)人一吻:我若離世 你就改嫁吧

娛樂(lè)要聞

這國(guó)產(chǎn)劇太裝了,居然還熱播第一?

財(cái)經(jīng)要聞

又有紙尿褲送檢后被檢測(cè)出甲酰胺!

科技要聞

存儲(chǔ)成本壓力山大!蘋(píng)果罕見(jiàn)全球提價(jià)

汽車要聞

老板們的新座駕!65萬(wàn)元起,尊界V800/V680開(kāi)啟預(yù)訂

態(tài)度原創(chuàng)

數(shù)碼
親子
家居
手機(jī)
公開(kāi)課

數(shù)碼要聞

蘋(píng)果推送watchOS 27測(cè)試版 僅適配Apple Watch Ultra 3

親子要聞

套路啊

家居要聞

綠意盎然 自然之境

手機(jī)要聞

vivo X Fold6參數(shù)全公布,就差價(jià)格了

公開(kāi)課

李玫瑾:為什么性格比能力更重要?

無(wú)障礙瀏覽 進(jìn)入關(guān)懷版