• 熱門專題

Unity性能優化(4)官方教程Optimizing graphics rendering in Unity games翻譯

作者|--校园邪奏曲:Alan777w  發布日期-207622如意彩四字解特:2016-12-22 20:36:26
Tag標簽-_|娱乐天地平台app靠谱吗:性能  教程  官方  
  • 本文是Unity官方教程|-新能量电力商务网,性能優化係列的第四篇《Optimizing graphics rendering in Unity games》的翻譯|_-亿客隆彩票怎么样。

     

    簡介

    本文我們將會學習在Unity渲染一幀的幕後會發生什麼-舒南,渲染時會發生哪種類型的性能問題_-高德汇广场,以及怎樣去解決和渲染相關的性能問題|--宝安教育在线基础教育。

    閱讀本文之前--|保定热线宽带测速,理解沒有一刀切的方法去改進渲染性能問題是至關重要的-360彩票网客户端。渲染性能被我們遊戲中的很多因素影響並且高度依賴我們遊戲運行的硬件和操作係統-|-广州特产是什么。最重要的是我們通過調查-_-投票软件好喜福,實驗_|-missripley结局,以及精確分析性能檢測的結果來解決性能問題-盈盈彩。

    本文包括了一些最常見的渲染性能問題的信息__巴南区公租房,以及解決方法和一些擴展閱讀資源的鏈接-|腾讯13周年抽奖活动是真的吗。很可能我們的遊戲有一些問題本文沒有覆蓋-|_魏一宁 尼坤。盡管如此__零之轨迹金手指,本文仍然會幫助我們理解我們的問題_莱州中考成绩查询,給我們一些基礎知識使得我們更有效的去查找解決方案|__注册送体验金68的彩票。

    渲染的簡要介紹

    開始之前__12999小学数学网,我們快速簡要的看看Unity渲染一幀時發生了什麼-|-诺基亚5700主题下载。理解事件流和事情發生的正確時期將會幫助我們理解|||盈彩在线怎么玩,研究--三井秀夫,並且努力解決我們的性能問題__|步步惊情港台版。

    備注|至尊时时彩平台:在本文中-|西班牙国家队2014最新名单,我們將使用“object”__|金韵蓉博客,指代我們遊戲中被渲染的對象-_亿贝平台登录。任何帶著渲染組件的GameObject都講稱作object|||航嘉功率计算器。

    基本上狼外公王铁民,渲染流程如下_|08vip:

    -CPU計算出什麼東西需要被繪製-|-诸葛亮挥泪斩马谡是因为什么一事,並且怎麼被繪製|_11选5任四包赚不赔40注。

    -CPU給GPU發送指令__许喵喵mickey。

    -GPU根據CPU的指令進行繪製__英制螺母。

    現在讓我們進一步看看發生了什麼-出口货物报关单样本。在本文的後麵淘宝开店认证,我們將覆蓋上麵每個步驟的細節-惠安三中网。但是現在||11086移动彩票登不进去,我們先熟悉一些將會使用的名詞-九死一生造句,以及理解在渲染中CPU和GPU所扮演的不同角色|-菊丸英二bg。

    渲染的過程通常被稱為渲染管線--093彩票是真的?,這十分有助於記憶_-_羽西积分查询。高效的渲染在於保持信息流動--|就医160网上预约。

    在渲染每一幀的時候|中国商务部直销网,CPU都會做如下工作_|众博彩票是黑的:

    -CPU檢查屏幕上的每個object_|校园邪奏曲,決定他們是否應該被渲染|_-外地车进京限行。一個object隻有滿足了一定的條件才會被渲染||易发彩票邀请码怎么找?。例如|_|向炮火中前进,它的一部分碰撞盒必須要在攝像機的視錐體內_|雪碧真我飞扬 放言真我。不被渲染的object稱作被剔除了|--黄岛配货站。想了解更多關於視錐體和視錐體剔除的信息_qq2009手机版,請閱讀this page||_小米1锤子rom下载。

    -CPU收集將要被渲染的每個object的信息_-陈允斌博客,並把這些數據分類為指令被稱作繪製指令draw calls-||36选7好彩3复式5中奖。一個draw call包含網格數據以及網格應該怎樣被渲染_-注册趣步安全吗。例如|_阿牧卡,應該使用哪個紋理|-永盛国际手机彩票登录。在一定的情況下|_德国thomas锅具,共享設置的一些objects可能會被合並為一個draw call-|电信iphone4s套餐。合並不同objects的數據到同一個draw call被稱作batching|_言承旭和ella。

    -CPU給每個draw call創建一個數據包|-|亿彩彩票官网苹果,稱為batch|-_北京燕都痤疮医院。Batch有時會包含一些draw call以外的數據--038彩票网站,但是這些情況通常不會對性能有什麼影響-都市110在线收听,因此在本文中我們將不會考慮這些數據_|_职工福利费会计分录。

    每一個batch必須包含一個draw call--都匀蓝宇装饰,CPU現在會做如下工作__-4466k最近:

    -CPU可能會發出指令||-盈彩网三分时时彩定位,使得GPU改變一些渲染狀態的變量__双升单机版。這個指令被稱為SetPass call|_-2017 电影。SetPass通知GPU_-鹿喜微七天断食,使用哪些設置去渲染下一個網格-|甜妞追逃夫。隻有在渲染下一個網格時|--金山区财政局,渲染狀態和渲染上一個網格時發生了改變的情況下-|上海老板手机号码,才會調用SetPass call_11选5赚钱技巧。

    -CPU把draw call發送給GPU_||银行卡为手机充值。draw call指示GPU使用最近的SetPass call定義的設置去渲染指定的網格__药酒是哪个朝代之后出现的。

    -一定的情況下___易赢彩票合法的吗,batch可能需要不止一個的pass_--众亿彩票官网。pass是一段shader代碼|-电视剧热爱,並且新的pass需要改變渲染狀態--|众赢国际合法的吗。對於batch中的每個pass_-_选票格式,CPU必須發送一個新的SetPass call然後必須要再次發送draw call--金鼎一级大豆油。

    同時--goodbyemissripley,GPU做如下工作___济南五中:

    -GPU按照CPU發送的指令順序處理這些指令__-中国今天9点向日本开炮。

    -如果當前任務是SetPass call-妙巢正品,那麼GPU更新渲染狀態||-优衣库视频种子百度云。

    -如果當前任務是draw call||阿斯玛 阿萨德,那麼GPU渲染網格__才子骂小花2。渲染網格發生在很多階段_-|ca4353航班,不同階段的shader代碼可以定義渲染|--1010彩票安卓。這部分的渲染過程十分複雜--音乐银行111223,我們不會詳細講解_2239期海南头尾规律,但是理解下麵的知識是很有用的|汇锦卡盟:頂點著色器vertex shader告訴GPU怎麼處理網格的頂點-jy男装淘宝店。片元著色器fragment shader告訴GPU怎麼繪製單獨的像素-窖口客运站网上订票。

    -這個過程會重複執行__唐山铁通宽带,知道所有CPU發送的任務都被GPU完成|-炒葱椒鸡 菜系。

    現在我們了解了Unity渲染幀時發生了什麼--|深圳卫视节目表,讓我們考慮渲染時可能發生的一些問題__-陈丽华简历。

    渲染問題的類型

    理解渲染最重要的是||28彩票平台真的假的:為了渲染一幀--南京日志,CPU和GPU必須都完成他們的任務_|106官网彩票。他們中的任何一個花費了太長的時間去完成任務|-上海一号店客服电话,都會造成渲染延遲|||锦绣庄民间艺术园。渲染問題有兩個基本的原因||1255彩票。第一類問題是由低效的渲染管線引起的_-祥康快车王晗。當渲染管線中一步或者多步花費了太長時間|--和绳媲美,打斷了平滑的數據流時-_-众益彩苹果版,渲染管線會很低效|__冬泉豹幼崽怎么获得。渲染管線的低效被稱為瓶頸|_|读者文摘投稿。第二類問題是由於-赵海军,渲染管線被塞入了太多的數據__-命运歌词。即使是最高效的渲染管線--315网投网址大全进不去,對於一幀中可以處理的數據量也是有限製的|-陈文恩。

    當我們的遊戲花費太長的時間去渲染一幀--_固话积分查询,是由於CPU花費了過長的時間去完成渲染任務時|_|skinselect,我們的遊戲被稱為CPU約束_||中央电影网。當我們的遊戲花費太長的時間去渲染一幀__|易旺彩票注册,是由於GPU花費了過長的時間去完成渲染任務時|__google trends,我們的遊戲被稱為GPU約束-永盛app彩票网址。

    理解渲染問題

    在我們做任何修改前-|_黑帮图片,先使用Profiler理解引起問題的原因是至關重要的_|-阿卡纳之王。不同的問題需要不同的解決方案-|注册送彩金68不限id。測量我們做出的改變的效果也是很重要的|_南京金盛路。修複性能問題是一項平衡性的工作__龙卷风旋风扫,改進一方麵的性能問題--|剑灵李素梅在哪,很可能會對其他方麵有負麵影響--038提现失败。

    我們將使用兩個工具來幫助我們理解和解決渲染性能問題_||工程款支付申请表。Profiler和frame debugger_--至尊争霸彩票能赚钱吗。他們都是Unity內置的工具|_-盈彩彩票是不是黑网。

    Profiler

    Profiler窗口允許我們實時的看到遊戲的性能|-qq刷q币软件免费版,我們可以看到遊戲的很多方麵的數據_陇南市人民政府网站,包括內存使用-_优盈彩票合法吗,渲染管線__-诺基亚串号查询网站,腳本性能等等|_卓易彩票老版本。

    如果你還不熟悉使用Profiler---云顶娱乐害惨了我,請參看Unity用戶手冊this page of the Unity Manual_|锐度网站,以及這篇教程Unity性能優化(1)-官方教程The Profiler window翻譯 _|申通快递详单查询。

    Frame Debugger

    frame debugger允許我們一步一步的查看一幀是怎樣被渲染的___08彩票注册送16元。我們可以使用它查看詳細的渲染信息___亿人娱乐怎么登陆呢,如在每個draw call中都繪製了什麼-|qq2009官方下载,每個draw call的shader屬性以及發送到GPU的事件的順序-106福利版ios版。這些信息幫助我們理解我們的遊戲是怎樣渲染的以及我們可以在哪裏改進性能-|008彩票论坛!。

    如果你還不熟悉frame debugger的使用___黄牛课件网,請參考this page of the Unity Manual以及這個視頻教程this tutorial video_|柯医生蛇脂维肤膏。

    找到性能問題的原因

    在改進我們遊戲的渲染性能前_|_优衣库视频bt种子,我們必須先確認我們遊戲運行慢是由渲染問題引起的_-全民英雄辅助。如果真正的問題是由於過於複雜的用戶腳本引起的_--刘德华为歌迷打保安,那麼我們去優化渲染性能是毫無意義的__|亿彩彩票官网欢迎你。如果你不太確認__|涨潮时间,性能問題是否有渲染引起的--_浠水姜林,請參考Unity性能優化(2)-官方教程Diagnosing performance problems using the Profiler window翻譯 _-基加美修的召唤石。

    一旦我們確認是渲染問題|-惠安三中网,我們必須同時確認是CPU限製還是GPU限製--陈耀兴。不同問題有不同的解決方案-|-干油泵,所以在試圖修複問題前|灰色水晶鞋,理解引起問題的原因是至關重要的|-雷霆咆哮打野出装。如果你不確定你的遊戲是CPU限製還是GPU限製-_|腾讯名人坊陈晓,請參考Unity性能優化(2)-官方教程Diagnosing performance problems using the Profiler window翻譯 |-评剧发源地。

    如果是CPU受限

    基本上|-106平台彩票二维码,在渲染一幀中-__约彩彩票qq不能登录,CPU的工作分為三類北京市统计局信息直报网:

    -決定什麼必須被繪製

    -為GPU準備好命令

    -發送命令給GPU

    這三類工作包含很多獨立的任務_-长春盗车,這些任務可能是通過多線程工作的-_赢咖登录。多線程允許不同的任務同時執行|-2019注册微信绕过手机;當一個線程執行一個任務時--苘山租房,另一個線程可以同時執行完全不同的任務|_|01彩票是怎么回事。這意味著工作能夠更快的完成__诛仙入魔任务流程。當渲染任務被分發到不同的線程時-|-赢钱彩APP靠谱吗,稱為多線程渲染|-众赢彩票网。

    Unity渲染過程中和三類線程相關_-2018公安部对云联惠:主線程__美罗城 种子,渲染線程和工人線程(the main thread, the render thread and worker threads)-_|1995彩票反水。主線程用於我們遊戲的主要CPU任務|_花都区教育局网站,包括一些渲染任務-|农牧场盗匪。渲染進程是專門用於發送命令給GPU的_-35彩票官方。每個工人線程執行一個單獨的任務-||2240期海南头尾规律,例如剔除和網格蒙皮||阿勒泰电影院。哪些任務執行在哪個線程|掌上彩票苹果版,取決於我們遊戲運行的硬件和遊戲的設置-|众盈彩合法正规吗。例如|-盈发彩票是真的假的,CPU的核心數量越多_-铁手无语,就會生成越多的工人線程數__|枫无涯下部。由於這個原因_-|赛尔号鱼龙王刷什么,在我們的目標硬件上進行性能分析是十分重要的--心理罪为什么看不了。在不同的設備上_||报考澳门大学,我們遊戲的表現可能相差很多_-1699彩票。

    由於多線程渲染非常複雜並且依賴硬件|||冰山互联,在我們嚐試改進性能時|--预感的意思,必須首先理解是哪些任務導致了CPU限製---狐易康。如果我們的遊戲運行緩慢是因為在一個線程上剔除操作花費了太長的時間--科尔沁绿原网,那麼我們在另一個線程上降低發送給GPU命令的時間是不會有什麼幫助的_|英女侠新形象。

    注意-|苏州园区博客门:不是所有的平台都支持多線程渲染|-正大天地,在此時-|-至尊彩平台是合法的吗,WebGL不支持這個功能-_城市热线。在不支持多線程渲染的平台上-|众彩彩票app下载安装,所有的任務都在相同的線程中執行_|-孝义六中。如果在這樣的平台上|-搞笑考卷,CPU限製時||-陶然亭庙会,任何優化CPU的工作都會改進CPU性能__赢咖娱乐赢钱提现不了。如果我們的遊戲是這種情況|_running man宋茜,我們應該閱讀下麵的全部章節__今晚中国女排直播,並且考慮哪些優化最適合我們的遊戲_|诺基亚7070拆机。

    圖形工作Graphics jobs

    在Player settings中的Graphics jobs選項決定了Unity是否使用工人線程去執行一些原本需要在主線程或者渲染線程中執行的任務|装甲车 电影,在支持這個功能的平台上-_-许绍峰,它能夠提供可觀的性能提升__|厉归真擅长画什么。如果我們希望使用這個功能_-_掌上彩票234,我們應該分別對開啟或者關閉此功能進行性能分析|-|青岛台东八路洗头房,以觀察這個功能對性能的提升效果_陈斌凯。

    找出哪些任務對性能問題有影響

    我們可以使用Profiler來檢查哪些任務引起了CPU限製|__链家司歌。請參考|__评剧发源地。||易赢彩票骗局。|_盈彩合是什么意思。

    現在我們理解了哪些任務引起我們遊戲CPU限製|-陕西地震信息网,讓我們看看常見的問題和解決方案_||高德汇广场。

    發送命令到GPU

    發送命令到GPU花費時間過長是引起CPU限製的最常見的原因_-花月婷养巢软胶囊。在大多數平台上-__北京进口食品批发,這個任務是由渲染線程執行的_-_3cp上彩票,個別平台在工人線程上執行(如ps4)|--长江电力招聘。

    發送命令到GPU中-|我们的歌声里歌词,其中最耗時的操作是SetPass call_|_谁能百里挑一于淼。如果CPU限製是由發送命令到GPU引起的_||长安街 英菲尼迪,那麼降低SetPass的數量通常是最好的改善性能的辦法|盈盈彩安全吗。

    在Unity的渲染Profiler中|-|038彩票苹果版打不开,我們可以看到有多少SetPass call和batches被發送_|_异常蛋。有多少SetPass call被發送會造成性能問題|-色啦啦,和遊戲的目標硬件關係很大_--欧蒂芙喷立婷。在高端pc上可以發送的SetPass call數量遠遠大於移動平台--心理罪为什么看不了。

    SetPass call以及相關的batches數量取決於幾個因素_|_上海哪里有蹦极。本文稍後會詳細闡述_-立冬立秋诗句。簡單來說-_金地荔湖城业主论坛,通常如下___链家地产司歌mp3:

    -降低batches數量或者使更多的對象共享相同的渲染狀態|-_极品公子混在校园,通常會減低SetPass call數量__v880刷机包。

    -降低SetPass call數量||038彩票首页,通常會改進CPU性能__-陆贞身世。

    如果降低batches數量沒有降低SetPass call數量-|4466k最近10天更新,他本身也會導致性能改進_陈薇茵。這是因為CPU能夠更有效率的處理單個batch-_拱北在哪里,即使它和幾個batches包含了數量相同的網格數據|_|隋唐大运河开凿顺序。

    基本上__长江流域地图,有三種方法降低SetPass call和batches的數量||优盈彩票是合法,我們將仔細論述下麵的每一種方法__红酒倒进高脚杯:

    -降低要渲染的對象數量|_链家地产司歌mp3,通常可以同時降低SetPass call和batches的數量_--永和豆浆外卖。

    -降低每個要渲染的對象的渲染次數|--拳皇97无限气,通常可以降低SetPass call

    -合並要渲染的對象的數據到更少的batches-|_色啦啦,可以降低batches數量

    不同的技術適用於不同的遊戲||芬兰语学习,我們將考慮以上所有的選擇__众亿大厅作弊器,決定哪些適合我們的遊戲並且做出實驗--北仑教科网。

    降低要渲染的對象數量

    降低要渲染的對象數量是最簡單的降低batches 和 SetPass calls的方法||易彩快3。有以下幾個技術|_105彩票官方版,可以降低要渲染的對象數量_--闸北大悦城:

    -簡單的降低我們場景的可見對象數量__|qq2011版下载,是一個有效的解決方案__钢筋混凝土结构预埋件。例如--3a彩票提现不到账,我們要渲染有很多人物的人群_-易中彩票是真的吗,我們可以嚐試減少人物的數量_|_闽侯一中,如果看起來人群的效果仍然不錯_|悦天使,那麼這就是一個比其他複雜方法快捷的多的優化方法-||小米1锤子rom下载。

    -我們可以通過設置攝像機的剪裁平麵的遠端來降低攝像機的繪製範圍_-_蛊惑总裁。這個屬性表示距離攝像機多遠的物體將不再被渲染-|_亿乐彩页面网址。如果我們想隱藏遠處的物體不被渲染的事實-|-善淘网首页,我們可以嚐試使用霧來掩蓋遠處-|_娱乐天地彩票。

    -如果需要基於距離的更細粒度的隱藏物體__另类擦皮鞋歌词,我們可以使用攝像機的Layer Cull Distances屬性-|苏通大桥有多长,它可以給不同的Layer設置單獨的剪裁距離|_|魔力旺旺。如果我們有很多前景裝飾細節時|-|淘1站,這個方法很有用|飞天侠女。我們可以使用很小的距離隱藏細節-|鹿寨都市论坛。

    -我們可以使用遮擋剔除功能去關閉被其他物體遮擋的物體的渲染|盈盈彩好吗。例如||-众赢国际合法的吗,我們場景中有一個很大的建築|_2元彩票网,我們可以使用遮擋剔除功能-|亿彩彩票,關閉它後麵的物體的渲染__苟各庄住宿。Unity的遮擋剔除功能不適用於所有的場景|_2019年网络严打黑彩,它會導致額外的cpu消耗|易富娱乐彩票,並且相關設置很複雜_獐子图片,但是在一些場景中|-_陈永馨 马来西亚,它可能會極大的改善性能___至尊娱乐彩票靠谱吗。使用遮擋剔除的最佳實踐|诸葛智彩软件,This Unity blog post on occlusion culling best practices_-永盛国际手机彩票官网。

    另外||_昆明三对夫妇群原图,我們可以通過手工的關閉物體渲染來實現我們自己的遮擋剔除_-香香公主化妆品,我們可以手工的關閉我們知道玩家無法看到的物體的渲染__诺基亚5700主题。例如--娘家的故事3主题曲,如果我們的場景包含一些過場的物體|-_360彩票网官网,那麼在他們出現之前或者移出以後|_花狐狸博客,我們應該手工的關閉他們的渲染-|东港宋老六。對於我們遊戲來說_||赫拉克罗斯,使用我們的知識--_众辉彩票APP,手工的剔除_|-可肤冰肌白乳液,往往比Unity動態的遮擋剔除有效的多__臻怎么读。

    降低每個要渲染的對象的渲染次數

    實時的光照|_-触动陷阱,陰影和反射可以極大的提高我們遊戲的真實感|极地海洋世界门票,但是這些操作可能非常昂貴_|掉下了眼泪音译歌词。使用這些功能可能導致物體被渲染多次-青岛军演,這對性能有很大的影響|重创燃烧军团。

    這些功能的精確的影響依賴於我們遊戲選擇的渲染路徑|-_河北移动梦网。渲染路徑-_提手旁上下,也就是表明當我們繪製場景的時候_--手机qq2011通用版,渲染計算的執行順序-_-平谷聊天室。不同渲染路徑最主要的不同|青少年联盟,是它們怎麼處理實時光照_-_买多网加盟,陰影和反射-_全球化的利弊。通常來說-_薄樱鬼同人 羁绊,如果我們遊戲運行在比較高端的設備上__-至尊伏魔录隐藏英雄,並且應用了很多實時光照__2019年第128期开奖,陰影和反射時_|_冯绍峰qq号,延遲渲染是比較好的選擇||出入境检验检疫局待遇。前向渲染適用於低端設備||公安县新闻网,並且不使用以上功能-__裙地垫卫生巾。盡管如此-__11068移动彩票登陆,如果我們需要更好的使用實時光照|-尹国驹 何鸿燊,陰影和反射等功能-_大部制改革最新消息,情況是十分複雜的|易彩网是什么,最好研究相關主題以及實驗||欢乐白领。請參考This page of the Unity Manua這是一個十分有用的起點|_|永胜国际app。 請參考This tutorial這裏包含了Unity中光照的相關主題內容_-|反间谍工作的主管单位是。

    不論選擇哪種渲染路徑||亚当夏娃怡情谷,使用實時光照___俗人岛华人,陰影和反射都會影響我們遊戲的性能--|集芙蓉以为裳,所以-__花溪花溪,理解怎樣去優化他們是十分重要的-||诺基亚1680c保密码。

    -Unity中動態光照是很複雜的主題-||定陶县教育局,討論他超過了本文範圍skinselect,請參考this tutorial和 this page of the Unity Manual__云顶娱乐官方。

    -動態光照很昂貴_|-众发娱乐app。當我們的場景包含靜態物體時_-初二女生胸,例如風景-|_166网上售彩票合法吗,我們可以使用烘焙技術去預計算場景的光照||_天天热播网,這樣就不需要在運行時計算光照了--轴承大世界。具體請參考This tutorial和 this section of the Unity Manual-_|gm730e。

    -如果我們希望在遊戲中使用實時陰影|_|现任北京市委书记,我們可能可以改進這方麵的性能|_盈盈彩官网注册。This page of the Unity Manual 這篇文章介紹的陰影設置-|_芭比之公主学校服装,以及這些設置怎麼影響性能的-||73xy。例如_三星铃声免费下载,我們可以設置陰影距離|-|兰州摸吧,確保隻有近處的物體投射陰影||-至尊彩网站12。

    -反射探頭創建真實感的反射_-|请定位lame exe,但是會很大的影響batches數量||qq猪猪领养。最好我們在性能敏感的場合最小化的使用它--|茶黄蓟马,並且無論在哪使用了他們都要盡可能的優化--钰佳。反射探頭的優化請參考This page of the Unity Manual_|_红光二手房出售。

    合並物體為更少的batches

    在一定情況下__闪闪宝石,一個batch可以包含多個物體的數據--|描写大自然的句子。為了可以適合合並--_鹿少女,物體必須滿足以下條件||优优娱乐彩票合法吗?:

    -共享相同材質的相同實例

    -有一樣的設置(例如||_银魂62,紋理|优优娱乐彩票反波胆,shader|_3218彩城彩票网,shader參數等)

    合並合適的物體可以改進性能--_糗事百科邀请码获取器,盡管如此-|-买多网加盟,所有的優化技術我們都必須小心的分析_|_青花瓷琵琶简谱,合並的消耗沒有超過獲得的性能改進-|北水手机网。

    合並合適的物體有幾種不同的技術掌游彩官网下载:

    -靜態batching技術-_-256c彩票官网,允許Unity合並相鄰的不移動的合適的物體__466耳鼻喉科。一個好的例子是_|-金浪路由器官网,一堆相似的物體洛克王国蕾纳斯,例如巨石_-无氨显影液,可以從靜態batch中受益良多_易彩集团10元赚钱。在遊戲中設置靜態batch_||198彩票官网,請參考This page of the Unity Manual||南汇酒吧斗殴视频。

    靜態batch會導致更高的內存占用|家门的荣光国语版百度影音,所以我們在優化時要衡量這個代價-_定陶教育网。

    -動態batching技術_|读者文摘投稿,是另外一種Unity合並合適的物體的技術||_移动彩票是正规的吗,不論它是運動還是靜止_|暴龙摩托。對能夠使用這種技術合並的物體-|国安部邱进,有一些限製_-168彩票。這些限製請參考this page of the Unity Manual 動態batching會影響CPU使用||12 8事件,可能會引起CPU消耗的時間大於節省的時間||雅迪女鞋官网。我們應該通過實踐衡量它的代價||105彩票ios怎么下,並且在使用的時候注意這些|--注册下载aqq送彩金。

    -合並Unity的UI元素要更複雜一些|-|电子邮件号,因為他會受我們界麵布局的影響_|-cuba西北赛区。具體請參考This video from Unite Bangkok 2015和this guide to optimizing Unity UI_-赢钱彩充值卡。

    -GPU instancing技術允許大量一樣的物體十分高效的合並處理_|众发彩票怎么玩。它的使用有一定限製||-御龙在天野蘑菇在哪,並且不是所有硬件都支持_-萨满焦点打断宏,但是如果我們的遊戲在場景中同時存在大量相同的物體_|_黑车交易,我們可以在這個技術下收益_-亿盈嘉的骗局。請參考This page of the Unity Manual 這裏介紹了Unity中GPU instancing的技術細節以及怎樣使用它||-小学优秀教师事迹材料,支持哪些平台-_诺基亚5238微信下载,以及在哪種環境下_||何小萌萌萌微博,我們的遊戲會受益於此_永盛国际手机彩票。

    -紋理圖集|__荆棘谷地图,是把大量的小紋理合並為一張大的紋理圖的技術_与商队碰面。它通常在2d遊戲和UI係統中使用_|铜旗阵,但是也可以在3d遊戲中使用|_青铜粉。當我們使用這個技術為遊戲創建美術資源時|昆明三对夫妻,我們可以確保物體共享同一圖集_-_注册新账号免费给彩金,因此適合合並-_-赢彩网是正规的吗。Unity內置了圖集工具Sprite Packer-|_空运狗狗多少钱。

    -我們可以手工的合並共享相同材質和紋理的網格_-35彩票赢的钱都去哪了,不論是在Unity編輯器中還是在運行時使用代碼_||铁鹰行动。當我們手工合並網格時|-_吴雪雯电影全集,我們必須意識到__|2m彩票2m永久免费彩图,陰影--_2013学位英语成绩查询,光照和剔除仍然在每個單獨的物體層級上操作-花城广场停车。這意味著__鸭梨什么意思,合並網格所產生的性能提升|-铁将军防盗器接线图,很可能被本來可以被剔除的物體|-众创联盟app,不再被剔除了_-|fj 12530,帶來的影響抵消-河南电视台大象网。如果我們想深入研究這項技術|_今日新股,我們應該查看Mesh.CombineMeshes函數 ---opera酒店管理系统,Unity’s Standard Assets package中的CombineChildren腳本是一個例子-_安哒塔图。

    -在腳本中-干洗价格,我們必須小心使用Renderer.material-__闫芳事件,這會複製材質__|2019年四不像欲钱料,並且返回一個新副本的引用__风流少年唐伯虎2。這樣做會破壞batching||性价比笔记本电脑,如果這是合並中的一部分_365天天彩票。因為renderer不再持有相同的材質引用了|_|开通gprs5元套餐。如果我們需要訪問一個在合並中的物體的材質-_单号吧,我們應該使用Renderer.sharedMaterial-|深圳都市频道第一现场直播。

    剔除-众彩国际彩票合法吗,排序以及合並

    剔除--赢咖娱乐黑钱么?,收集將要被繪製的物體的數據|众彩网可靠吗,排序這些數據__|色护士网,生成GPU命令|||衣优库视频,這些都對CPU限製有貢獻_狱霸电影。這些任務會在主線程或者獨立的工人線程中運行__|旺旺买家版下载2012官方,取決於我們遊戲的設置以及目標硬件-_盈彩网是合法的吗。

    -剔除本身消耗並不大-__长江电力招聘,但是減少不必要的剔除操作可能會對性能有幫助-_f1电影网。剔除是對場景中每個激活的物體__众发娱乐代理能提现吗,每個攝像機每個物體的計算|-模特内供,甚至是哪些不被渲染的層級的物體_-_珠江台今日关注视频。為了降低這些赛罗奥特曼大电影,我們應該關閉攝像機-_|开淘宝店流程,並且對於當前不使用的物體反激活或者禁用renderer|_44444。

    -Batching可以極大的增加向GPU發送命令的速度--2019年白姐正版先锋,但是他有時可能會在其他地方帶來消耗__注册送彩票彩金。如果batching操作造成了CPU限製||_开心网001 com登录,我們可以會要限製手工或者自動batching操作的數量_-_硅酸铝绳。

    蒙皮

    SkinnedMeshRenderers在當我們使用一個網格動畫變形時(技術上稱為骨骼動畫)使用---亿彩彩票是什么。它最多的用在動畫人物身上__|德雅村租房。渲染蒙皮的任務通常在主線程或者單獨的工人線程-__我们结婚了泰民停拍,依賴於遊戲的設置以及目標硬件--_芭莎内衣专营店。

    渲染蒙皮可能會是昂貴的操作|_|德国球星。如果我們在渲染Profiler中__-168开奖官方网站,看到渲染蒙皮對CPU限製影響很大--注册送彩金APP,這裏有幾個方法我們可以嚐試去改進它的性能-配角曹轩宾。

    -我們應該考慮當前正在使用SkinnedMeshRenderers組件的物體是否有必要使用--晴儿图片。可能是這種情況_|248彩票网可靠吗,我們導入的模型包含了SkinnedMeshRenderers組件__优博博彩,但是我們其實並不需要它運動|-亿博网赌。這種情況下|-永胜彩票网APP,我們使用MeshRenderer組件替換它||-四丁基硫酸氢铵,會有助於性能提升--_永盛国际手机版手机彩票。當我們在Unity中導入模型時||_168彩票网怎么样,如果我們在模型的導入設置中選擇不導出動畫_-_gm730e,這個模型就會包含一個MeshRenderer組件替換SkinnedMeshRenderers組件-_|大北农饲料价格。

    -如果我們隻在一些時刻運動物體(例如||-小吃作文,隻在遊戲開始時__-诺基亚3500c软件,或者隻有距離攝像機一定距離內時)_规模报酬,我們應該交換為一個細節較少的網格--234彩票网100,或者使用MeshRenderer替換SkinnedMeshRenderers|_|qq猪猪领养。SkinnedMeshRenderers組件有一個函數BakeMesh_-网曝 查开房 网址,可以用匹配的動作創建一個網格---苏州元祖门店,這個十分有用-|_国语电影下载,在不同的網格或渲染器中切換時物體不會有可見的變化-|118彩票手机版苹果。

    -這些文章有關於使用蒙皮的優化建議-|_阿里布达年,請參考This page of the Unity Manual 和the Unity Manual page on the SkinnedMeshRenderer component|镣铐典狱官,還應該記住_--黑暗之光伴奏,蒙皮的消耗是在每個頂點上|--336时时彩平台下载,因此_苏芩博客,使用頂點較少的模型可以有效降低工作量_|雪福来cruze。

    -在一些平台上_||梵蒂冈教皇,和CPU相比-|移动彩票是正规的吗,蒙皮可以被GPU更高效的處理||挠脚心漫画。如果我們的GPU比較強|-|15号买的福利彩什么时候开奖,這個值得嚐試|雷暴套装。我們可以為當前平台開啟GPU蒙皮__农牧场盗匪,在Player Settings中-_约彩彩票注册失败。

    主線程操作和渲染無關

    理解許多主線程的任務是和渲染無關的很重要__桂冠食品。這意味著|_夹心取力器,如果是CPU限製發生在主線程|-沙井刻章,我們應該把優化CPU時間改進性能的努力放在和渲染無關的任務上__-保健按摩师培训教材。

    例如-|家禾康甩脂机有用吗,在某個時間點上--爱唯侦察地址,我們的遊戲需要做十分昂貴的渲染操作並且在主線程上我們的腳本操作也非常昂貴|-盈彩是什么,使得CPU限製诺基亚6120c价格。如果我們已經在不損失視覺真實度的前提下盡可能的優化渲染了_||青海藏语广播,那麼我們減少用戶腳本的CPU消耗可能會改進性能_--2018公安部对云联惠。

    如果遊戲是GPU限製

    如果遊戲是GPU限製|__中国军衔等级胸章,那麼第一件事就是找到GPU瓶頸的原因--邪恶少年eb的小站。GPU性能最常被填充率限製|-_1288彩票多少才得提现?,尤其在移動平台_qq防沉迷网站,但是顯存帶寬和頂點處理也可能影響|-优惠多金币联盟。讓我們檢查這些問題-|檩条间距,並且學習引起問題的原因||-世纪星光电影城,怎麼診斷和怎麼修複問題---八马赛珍珠5800价格。

    填充率

    填充率是指GPU在屏幕上每秒可以渲染的像素數-_qq炫舞极品宠物名字。如果我們的遊戲收到填充率的限製-_-22彩票官网,意味著我們的遊戲每幀嚐試繪製的像素數量超過了GPU的處理能力--航空证券保定营业部。

    檢查是否填充率引起了遊戲GPU限製很簡單|-_尊龙娱乐app官方网站:

    -使用Profiler分析|-365彩票不能买,注意GPU時間

    -在Player settings中降低顯示分辨率

    -再次分析遊戲_|中博彩票投诉,如果性能改善了_万峰网,很可能是填充率的問題

    如果確認了填充率引起了問題|_乒乓球桌价格 优个网,有幾個方法可以解決問題_-_雅虎奇摩首页:

    -片元shader是告訴GPU怎麼樣去繪製一個像素的一段shader代碼||2019注册有彩金送的彩票网站。這段代碼GPU需要為每一個需要繪製的像素執行--|云顶娱乐可靠吗?,所以如果這段代碼效率低_12306智行火车电话,那麼很容易發生性能問題||买卖基金就这几招。複雜的片元shader是很常見的引起填充率問題的原因-耐美金。

    -如果我們的遊戲使用Unity內置shader||256手机彩票网网址,我們應該使用最簡單和最優化的shader||11选5最大漏洞,為了達到我們想要的視覺效率_|-众亿彩票官网。例如-_-箱梁图片,the mobile shaders是Unity針對移動平台高度優化的shader-|-农牧餐偷匪三合一,我們應該實驗使用它們是否可以在不影響視覺效果的前提下改善性能_|qq2011下载正式版免费下载。這些shader是為了移動平台設計的__-固话积分查询,但是它們也適用於任何項目_|西安铁路职业技术学院专业代码。如果使用它們可以達到項目視覺效果的要求||新加坡成人社区,那麼在非移動平台上使用它們也是能夠很好的改善性能的-|_河南特岗培训平台。

    -如果遊戲中的物體使用的是Unity的Standard Shader|--万兽之国(h)人蛇,那麼理解Unity編譯這些shader是基於當前的材質設置的是很重要的|湖南中青旅行社。隻有那些當前使用的功能會被編譯_|_木耳专用播放器。這意味著_-_小米手机ppt,移除例如detail maps可以減少片元shader的複雜度__婷婷色,這對性能提升有很大益處__懒人睡睡瘦贴片有用吗。如果我們遊戲中是這種情況|-|我要的是无话不说,我們應該實踐-cf修复工具,是否能夠在不影響視覺質量的前提是提升性能||-优盈彩票合法吗。

    -如果我們遊戲使用的是定製的shader-诺基亚3110c软件,我們應該盡可能的優化它_|-诚毅学院体育教研室。優化shader是一個很複雜的主題_|脸部美容手法视频,請參考this page of the Unity Manual和 this page of the Unity Manual-衡水热线专业聊天室。

    -Overdraw是指相同的像素繪製了多次-365彩票还能买吗。這是在物體繪製在其他物體之上的時候發生的_||345彩票首页,也在很大程度上引起了填充率問題-海带的血型是。為了理解Overdraw__锦旗格式,我們必須先理解Unity在場景中繪製物體的順序_|2019年犯太岁的生肖。物體的shader決定了物體的繪製順序_|160彩票登录,通常由render queue屬性決定|_|2019年3月澳门。Unity使用這些信息按照嚴格的順序繪製物體-|易彩网彩票是合法的吗,具體細節請參考page of the Unity Manual 另外在不同render queue的物體在被繪製之前會按不同的順序排序_-东北二嫂水仙。例如_|-高中排列组合,Unity在Geometry queue中為最小化Overdraw會從前到後排序物體李天一受害教师照片,但是在Transparent queue中-__198彩靠谱么,為了達到視覺效果的要求__掌上农业银行下载安装,則是從後到前排序物體-|番禺桑拿论坛。在Transparent queue中|-广珠城轨最新时刻表,從後向前排序物體其實最大化了Overdraw-|网曝 查开房 网址。Overdraw是一個很複雜的主題||_王的第十七妾,並且沒有一刀切的解決方案||红色警戒2全能王,但是降低重疊物體的數量使得Unity不能自動排序是關鍵__日升丰。調查Overdraw問題最好的起點是Unity的場景視圖中___距离高考还有几天,DrawMode允許我們看到場景中的Overdraw_-01彩票是不是正规的,我們可以從這開始降低Overdraw的工作__|10选5彩票骗局。最常見的引起Overdraw的因素是透明材質|-_冀东油田吧,未優化的粒子__|掌上购彩是不是骗局,和重疊的UI元素_|台湾雅虎奇摩首页。所以我們應該嚐試優化這些|_阳光家缘数据中心。請參考This article on the Unity Learn site 這篇文章聚焦於UI|雳剑电视剧 全集36,但是也包含了Overdraw的很好的指導-|n79软件下载。

    -使用屏幕後處理技術也會極大的影響填充率-|-诺基亚5233评测,尤其是我們使用了不止一種的屏幕後處理的時候|_万兽之国(h)。如果我們在使用屏幕後處理是遇到了填充率問題|_-意彩娱乐诈骗,我們應該嚐試不同的設置或者使用更加優化的屏幕後處理版本__|掌上足球世界杯版。例如使用Bloom (Optimized)替換Bloom---易乐彩。如果我們在同一個攝像機下使用了多個屏幕後處理_-云顶娱乐平台注册送78,這將造成成倍的shader pass|_众赢彩票注册。這種情況下_|mz16男科在线,我們應該合並shader到一個單獨的pass--锦州有线宽带,例如Unity’s PostProcessing Stack__低塘租房。如果我們優化屏幕後處理效果後--|铁粉吧,仍然有填充率問題_众发彩票倍投能赚钱吗,那麼我們也許要考慮關閉屏幕後處理--众彩是真是假,尤其是在低端的設備上_--2013长春车展。

    顯存帶寬

    顯存帶寬是指GPU讀寫它的專用內存的速度___错爱徐帆。如果我們的遊戲受限於顯存帶寬_-|林科大教务处,通常意味著我們使用的紋理太大了|_|冰恋小龙女,以至於GPU無法快速處理--_青岛版江南style。

    我們可以按如下方法檢查是否顯存帶寬的問題-吴尊的qq号是多少:

    -用Profiler分析遊戲_-重庆公安局长,並關注GPU時間

    -在質量設置中降低當前平台的紋理質量

    -繼續分析遊戲|--陈雅倩,如果性能改善了-|应昊茗,那麼通常是顯存帶寬的問題__-105彩票靠谱吗。

    如果是顯存帶寬的問題|__永盛彩票导航,我們需要降低紋理的內存占用||-淘宝整点聚秒杀器。針對不同的遊戲通常有不同的最佳解決方案__517云购,這裏我們提供幾個優化紋理的方法|-_600021:

    -紋理壓縮技術可以同時極大的降低紋理在磁盤和內存中的大小_-优游登录地址。如果是顯存帶寬的問題||_游侠红牡丹主题曲,那麼使用紋理壓縮減小紋理在內存的大小可以幫助改善性能__视频编辑专家6 3。Unity中有很多可用的紋理壓縮的格式和設置_-|易拍宝。通常來說_||陕西2台都市快报,一些紋理壓縮格式隻要可用就應該盡可能的使用-_福建少儿频道节目表,盡管如此_解放军466耳鼻喉科,通過實踐找到針對每個紋理最合適的設置是最好的|-|金庸群侠传2加强版攻略。請參考This page in the Unity Manual 講述了紋理壓縮的格式和各種設置的詳細信息|__传奇归来刺客装备。

    -多級漸遠紋理__挡板砖,是Unity對遠處的物體使用的低分辨率版本的紋理|_|人族大讲堂。如果我們的場景包含距離攝像機很遠的物體-_莅临的意思,我們可以通過使用多級漸遠紋理來緩解顯存帶寬的問題_河南省委网站。Unity場景視圖中的The Mipmaps Draw Mode允許我們查看哪些物體受益於多級漸遠紋理-扑克双升,請參考this page of the Unity Manual 包含了使用多級漸遠紋理的詳細信息|||008彩票论坛II。

    頂點處理

    頂點處理是指GPU必須渲染網格中的每一個頂點的工作__盈盈彩靠谱么。頂點處理的消耗受兩件事情影響_马甲客:必須渲染的頂點數量-注册了彩票怎么注销,以及在每個頂點上要進行的操作數量_1号站彩票娱乐平台登录。

    如果我們的遊戲是GPU限製_宜兴土特产,並且已經確認了不是填充率和顯存帶寬引起的問題--_陕西省交通厅曹森,那麼就很可能是頂點處理引起的-_手机腾讯qq2011。如果是這種情況--云顶娱乐提现钱不到账,那麼嚐試減少GPU頂點處理的數量很可能會獲得性能提升|-苏州园区三中。

    有一些方法可以減少頂點數量或者在每個頂點上執行的操作數量|_-上将名单:

    -首先|_金俊熙,我們應該降低不必要的網格複雜的-|亿乐彩娱乐注册登录。如果我們使用的網格包含在遊戲中無法被看見的LOD|钱塘江涨潮时间,或者低效的網格在錯誤的創建時包含了太多的頂點--优信彩票官网,這些都會浪費GPU的工作量-|-大象网直播。最直接的降低頂點處理的消耗的方法_整理英语,就是在3d建模軟件中創建模型時使用更少數量的頂點|_斗战神宇文公在哪里。

    -我們可以嚐試使用法線貼圖技術|-诺基亚5530xm软件,我們使用它來模擬更高幾何複雜度的網格_-bt核电站。盡管使用這種技術有一些GPU負載_-青浦朱家角中学,但是在多數情況下注册彩金送38,它會獲得性能提升--赢钱彩从哪下载。請參考This page of the Unity Manual 介紹了使用法線貼圖技術去模擬更複雜的網格-__青岛单独二胎新政策2014。

    -如果我們的遊戲沒有使用法線貼圖技術---水族疾病,在網格的導入設置中__|木丹青,我們可以關閉頂點的切線_|韩国主播朴麦妮视频。這會降低GPU處理頂點的數據量--家长会欢迎标语。

    -LOD(Level of detail)-|_十堰物流云帆配,這是當物體遠離攝像機時___火票网,降低物體網格的複雜度的技術_北京矿业大学分数线。這可以有效的降低GPU需要渲染的頂點數量_-ua女人网化妆技巧,並且不影響視覺表現--|沈阳小伙。具體使用細節請參考. The LOD Group page of the Unity Manual|云顶怎么赚钱。

    -頂點shader|_11选五5开奖结果浙江,是一段shader代碼_-_阿玛拉王国锻造材料,告訴GPU怎麼繪製每個頂點--盈众彩票合法吗。如果我們的遊戲受限製於頂點處理的影響__qq爱情留言代码,那麼降低頂點shader的複雜度可能會有助於性能提升_|银泉酒家。

    -如果我們的遊戲使用Unity內置shader-_-360彩票网客户端,我們應該使用最簡單和最優化的shader|-_hp为人师表,為了達到我們想要的視覺效率--德国球员。_|班主任自我介绍。例如__南通电影,the mobile shaders是Unity針對移動平台高度優化的shader|-永城彩票软件苹果下载,我們應該實驗使用它們是否可以在不影響視覺效果的前提下改善性能_-暴龙摩托。

    --如果我們遊戲使用的是定製的shader-任重姚笛快乐大本营,我們應該盡可能的優化它-_|青海明胶吧。優化shader是一個很複雜的主題-|_30元好彩头出奖模式,請參考this page of the Unity Manual 和 this page of the Unity Manual-_|四川工人日报电子版。

    結論

    我們已經學習了Unity中|-|好看的电影网站你懂的,是怎樣渲染的--_腾讯tt3 8,當渲染時可能會發生什麼問題_2019香港今晚买什么马,以及怎樣在我們的遊戲中提高渲染的性能__-qq炫舞紫钻官网。使用這些知識以及性能分析工具Profiler-|-联众好友在线下载,我們可以修複渲染相關的性能問題|_赢钱彩下载,並且構建我們的遊戲使他們具有流暢有效率的渲染流水線_|-仔仔网电视剧。

    下麵列出本文主題的相關資源

     

About IT165 - 廣告服務 - 隱私聲明 - 版權申明 - 免責條款 - 網站地圖 - 網友投稿 - 聯係方式
本站內容來自於互聯網,僅供用於網絡技術學習,學習中請遵循相關法律法規
易发彩票宝马彩票全民彩票快乐飞艇捷豹彩票pc蛋蛋

免责声明: 本站资料及图片来源互联网文章,本网不承担任何由内容信息所引起的争议和法律责任。所有作品版权归原创作者所有,与本站立场无关,如用户分享不慎侵犯了您的权益,请联系我们告知,我们将做删除处理!