国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Perforce演講回顧(上):從UE項目Project Titan,看Helix Core在大型游戲開發中的版本控制與集成使用策略

龍智DevSecOps ? 2024-10-08 16:15 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

日前,Perforce攜手合作伙伴龍智一同亮相Unreal Fest 2024上海站,分享Helix Core版本控制系統及其協作套件的強大功能與最新動態,助力游戲創意產業加速前行。

Perforce解決方案工程師Kory Luo在活動主會場,帶來《Perforce Helix Core+UnrealEngine工作流程與使用實踐》的主題演講,分享Helix Core在ProjectTitan項目中的關鍵角色、與UnrealEngine的配置技巧、常見的使用誤區及解決辦法、以及Helix Core的最新功能與應用等重磅干貨。

此次演講的精華回顧,我們將分為上下兩期為您呈現(內容有精簡優化);本期為(上)期,敬請持續關注。

wKgaomcE5CCAfQRUACtZNYlEWUA505.png

大家好!我叫Kory,來自Perforce Software,很榮幸能參加這次Unreal Fest上海站的活動。相信大家在活動期間過得非常充實,也希望大家能在此找到自己所需要的新技術和新功能。

接下來,我將為大家介紹Helix?Core版本控制系統及其與UnrealEngine相輔相成的工作流程和最佳使用實踐。

Helix Core和ProjectTitan:關于這場4000+人參與的全球藝術盛會的細節

話不多說,首先來做個小調查:大家是否了解ProjectTitan?或者是否曾參與到這個藝術創作中來?

ProjectTitan是由Epic Games發起一個UE藝術盛會,對全球的UE藝術家開放。該項目提供一個基本開放的世界觀框架,鼓勵所有參與者共同協作,去創造一個嶄新的世界。在這個64平方公里的虛擬土地上,有各種地貌,比如濕地、沙漠、森林等,參與者可以在其中創建各類角色、材料、道具和效果等等。

Helix Core作為這次項目的版本控制軟件,負責存儲ProjectTitan當中的所有數據信息,助力協同完成了這場創作。該項目歷時10周,從3月份一直持續到6月份。項目結束時,ProjectTitan一共有4122名用戶參與,協同創建了17000個變更列表。項目結束后,下載到本地電腦會占據75GB的磁盤空間,服務器端儲存的版本控制文件一共有350GB。

ProjectTitan 服務器規格

首先,我們來了解下ProjectTitan中的服務器規格。

wKgZomcE5B2AOT4EAAJy6hwQVTY009.png

為了方便Epic Games和Perforce去管理構建這樣一個項目,初始的服務器規格其實非常小,性能相對較弱,部署在AWS上,使用的是AWS C5.large,只有兩個VirtualCPU4GB的RAM

但是當項目開始運行后,參與者變得非常多。第一周大概有800多個用戶,第二周就激增到1600個用戶。如此一來,小規格的服務器就不再適用了。于是,我們相應擴充了服務器規格,采用m5.2xlarge,內存為32GB,這個規格支撐了項目運行的大部分時間。

在項目后期,我們觀察到RAM的峰值達到了32GB。為了確保項目的持續順利運行,保障客戶體驗,我們將配置升級到m5.4xlarge。另外,關于我們的儲存空間,root volume有50GB;用于存儲日志的hxlogs,也是50GB;用于存儲元數據的hxmetadata,有80GB;hxdepot是用于存儲版本控制軟件的實體文件,大概為1T。

ProjectTitan 服務器拓撲結構

下面來看一下ProjectTitan服務器的拓撲結構,了解我們是如何支撐4000多名用戶在AWS上面完美地完成這場藝術創作的。

wKgaomcE5B6AJM2DAArgyWi5CU8787.png

我們有一個主服務器在英國倫敦,有三個代理服務器,其中兩個在美國的維吉尼亞和加利福尼亞,還有一個在韓國首爾,以便亞太地區的用戶能夠更好地與Helix Core進行交互、下載文件。我們代理服務器的安裝非常簡單,對配置的要求也相對較低。其配置是主服務器初始時的最低配版本,完全能夠支持大量用戶的訪問和下載。

整個ProjectTitan服務器的部署,都是通過我們的SDP(Server Deployment Package)服務器部署包進行安裝的。使用該部署包不需要支付任何費用,也無需注冊任何信息。

如果您對Helix Core的部署有任何問題,歡迎咨詢Perforce中國授權合作伙伴——龍智,我們的專業服務團隊可為您提供相應指導。

ProjectTitan 服務器監控功能

接下來,我們來了解ProjectTitan服務器的監控功能。我們使用P4Prometheus來實時監察,了解服務器的運行狀況。

wKgaomcE5B2ACBVgAAP4YgiN28Q124.png

從上圖的第一張圖表中,可以看出CPU的使用率不足25%,處理指令非常絲滑,沒有任何問題。

第二張圖表中,可以看到內存峰值在32GB上下浮動,我們也是觀察到這個變動之后,才繼續升級了服務器的規格。

第三張圖表可以看到服務器的負載情況,每天有多少個用戶訪問服務器,每個時段有多少個指令在服務器進行交互,這些都是可以直觀呈現的。

最后一張圖表,用于監察磁盤空間。我們每天都會清理磁盤空間,清理舊的日志,以確保項目的順利進行。黃線代表服務器元數據儲存空間。在項目后期我們擴充了該磁盤,所以圖表可見其向下波動。所有人執行的每一項操作,我們都可以在服務器監控到。

另外,我們為什么會在項目結束前五天或前一周的時候,去擴充metadata的磁盤空間呢?因為我們考慮到,大部分的UE藝術家,往往在項目結束前會進行大量提交,有可能導致系統卡頓和運行不暢。最終,我們選擇擴充磁盤空間,也是避免了這一情況,成功為項目保駕護航,確保了項目的順利完成。

P4Prometheus 概述

P4Prometheus是一個與Helix Core相集成的監控框架。管理員可以通過圖中的一些圖表,直觀了解到服務器的運行狀況,而不用去盯著那些死板的數字了。

通過實時監控服務器的運行狀況,我們可以處理日志,并在Grafana面板上清楚地展示,以便于管理員實時了解。在監測一些實時指標時,我們也可以將其視作為一個系統預警,以有效地減緩意外的發生,并在問題產生之前就將其解決。

wKgZomcE5B-AYNX9ABCPkQeqbu0124.png

Helix Core與UnrealEngine的配置:適用于任何規模的安裝基本知識和技巧

接下來,我們一起來了解大家比較關心的內容——UnrealEngine如何與Helix Core集成使用,也有一些基本知識要為大家介紹。

Typemaps

我們先來認識Typemaps。Typemaps是一個自定義文件,用于規定文件存入到Helix Server當中所對應的文件儲存類型。

wKgZomcE5B-ALx_dAArHZTiFnJ4783.png

上圖右側的圖表,包含了binary文件,也就是二進制文件。從事美術開發的人員都知道,二進制文件是不能合并的,這就會導致多人同時處理同一文件時,可能會產生工作沖突。

為了避免這一問題,有效地提升開發效率,我們引入了filetype modifier,也就是“+l”,我們叫exclusive lock,即文件的專屬鎖。如何理解呢?有了文件專屬鎖,一旦文件被某個用戶檢出(checkout),服務器將顯示專屬鎖,防止其他的用戶修改同一文件,避免工作浪費,從而提升工作效率。

當管理員在服務器端設置好Typemap后,用戶在上傳文件時,它就會自動根據該表分配文件的存儲類型。上圖中,我們還看到“+S2”的文件類型,什么意思呢?我們只保留最新的兩個版本文件到服務器端,以節省磁盤空間。如果大家有需要的話,也可以參考設置。

我們提供的Typemap是一個標準模板,適用于UnrealEngine和Unity,下載后即可投入使用。進一步了解Typemap,歡迎咨詢Perforce中國授權合作伙伴龍智。

如果需要更改Typemap,該怎么辦?

Typemap設置后,如需更改,也可以進行實時更改,但不會影響已存到服務器現有版本的文件類型。如需更改現有的文件類型,可以使用P4 retype進行更改。

wKgaomcE5B2ALyvXAAJM0-i9n9Y303.png

上圖下方是一個示例,可知之前的 .uasset管理員設置的文件類型是binary,我們發現同時更改二進制文件可引發沖突后,對文件類型進行“+l”操作,那此后服務器當中的所有.uasset文件類型都是“binary+l”。

.p4ignore文件

下面來看一下 .p4ignore。顧名思義,ignore就是“忽略”,它是在客戶端上傳文件時用于忽略特定文件的一項規則。

wKgaomcE5B-AH3x9AAtbuPxAD8Q394.png

如何忽略?就是通過上圖所示的這張表。對于文件路徑或是相符的文件名稱、擴展名,都可以通過該表進行忽略。

舉例來說,如果將系統生成的文件上傳到服務器,會非常占空間且無用,那么,我們就可以在上傳之前將其忽略掉。管理員在設置好這個功能后,可以提交到我們的版本倉,這樣用戶在下載文件的時候,該ignore文件就會自動下載到本地的磁盤空間。然后,ignore規則就開始適用了。

wKgZomcE5B6ANA22AArybya8W-U311.png

當然,也有一個小bug。因為用戶對版本倉都是有更改權限的,很可能存在文件誤刪或誤改的情況。這個時候也沒有關系,因為我們在服務器端還有控制管理。管理員可以在流規范(stream spec)中直接設置,進一步設置ignore規則。不過呢,相對于.p4ignore,流規范中的ignore在通配符使用上相對比較局限。所以我們通過用戶端的.p4ignore和服務器端的ignore設置,來進行雙重管控,避免將不必要的文件上傳到服務器。

權限及文件保護設置

接下來,我們談談權限管理。

wKgZomcE5B2AVwCaAAMx-fHbrCU682.png

我們的IP至關重要,為了防止團隊文件被未授權的人員或者第三方訪問,管理員可以為整個服務器的用戶或小組設置獨立的專屬權限。

Helix Core的權限控制非常細粒度,可以精確到每一個版本倉、每一個文件夾、每一個子文件夾、每一個特定文件或者特定的一個擴展名,這些全部都可以在protection table中進行設置。

對于新加入項目組的用戶,操作不太熟練,可能會出現誤改或誤刪的情況,影響到項目進度。我們可以通過限制其訪問范圍來避免這一情況,也可以根據職位給予合適的權限和合適的文件路徑。

另外,在與第三方合作時,往往需要限制第三方的合作視野,我們也可以通過Helix Core進行很好地權限控制。

具體來認識一下protection table。它包含多個縱列,比如權限級別,它能夠控制用戶是否可以提交、下載、創建分支,以及能否查看特定路徑的特定文件,包括文件名、文件內容等等。

下圖是ProjectTitan項目中權限表的部分截圖示例。

wKgaomcE5B2AdnwuAAPHMXrKWhY362.png

可以看到,這個開放項目在初始時,所有用戶的權限都比較開放,但對于一些關鍵文件(比如11-16行),我們設置了“no open”,也就是說,對于這些文件,所有用戶都是無法更改和刪除的。此外,我們還可以限制訪問的IP地址,確保只有在受信任的IP地址中,用戶才能獲得相應的訪問權限。

備份及服務器還原點設置

再來了解一下還原點設置,我們稱之為checkpoint。它記錄了Helix Core服務器當中所有元數據的全部信息,包括誰、在什么時間、修改了什么版本、執行了什么操作。所含的信息比如:常見的變更列表、用戶信息、標簽、分支、工作請求等等,checkpoint都將其全部包含在內。

wKgZomcE5B2AShgIAALjJ7pgNhE335.png

不過,我們在創建還原點時需要注意其對數據庫性能的影響。因數據庫大小的不同,鎖住數據庫的時長也不同。在服務區繁忙時會導致命令堆積,從而影響到服務器性能。因此,我們建議在服務器負載較低的時間段,比如夜間或凌晨,進行checkpoint的創建。另外呢,Helix Core的服務器部署包(SDP)也提供了自動化腳本,可以設置在夜間的某個時段,自動化創建checkpoint。

未完待續......

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 控制器
    +關注

    關注

    114

    文章

    17792

    瀏覽量

    193279
  • 游戲引擎
    +關注

    關注

    0

    文章

    7

    瀏覽量

    1559
  • 版本管理
    +關注

    關注

    0

    文章

    14

    瀏覽量

    447
  • 版本控制
    +關注

    關注

    0

    文章

    26

    瀏覽量

    154
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    嵌入式開發工具版本的選擇策略

    版本嵌入式開發團隊協作,軟件工具版本的統一性管理需要分層次、分場景處理。 一、必須強制統一軟件版本
    發表于 11-25 06:11

    汽車電子開發必看:基于Perforce P4實現ISO 26262合規認證的版本管理解決方案

    目前全球唯一通過ISO 26262認證的版本控制系統Perforce P4!代碼管理到審計追溯,保障研發的每一步都經得起嚴苛審核。龍智正在為更多車企和零部件廠商提供合規支持,歡迎交流
    的頭像 發表于 09-09 14:38 ?2264次閱讀
    汽車電子<b class='flag-5'>開發</b>必看:基于<b class='flag-5'>Perforce</b> P4實現ISO 26262合規認證的<b class='flag-5'>版本</b>管理解決方案

    【聚焦汽車軟件開發版本管理到靜態分析,詳解Perforce工具鏈汽車嵌入式開發的全棧應用

    很高興為大家呈現這場高質量的技術分享!涵蓋游戲引擎跨界應用、#P4版本管理、合規性實踐等等。我們不只提供#Perforce工具,更賦能工具的落地深化。
    的頭像 發表于 09-01 13:18 ?845次閱讀
    【聚焦汽車軟件<b class='flag-5'>開發</b>】<b class='flag-5'>從</b><b class='flag-5'>版本</b>管理到靜態分析,詳解<b class='flag-5'>Perforce</b>工具鏈<b class='flag-5'>在</b>汽車嵌入式<b class='flag-5'>開發</b><b class='flag-5'>中</b>的全棧應用

    【匯思博SEEK100開發板試用體驗】記錄DevEco Studio 遇到的問題

    版本本身就沒有提供預覽的能力。 2. 項目同步問題 頂部有提示 “Core configuration attributes have changed since last project
    發表于 08-24 21:01

    「龍智×Perforce」研討會干貨回顧Perforce工具鏈汽車行業的應用與中國本土化落地實踐

    研討會干貨回顧來了!本次會議不僅帶來了Perforce工具汽車軟件研發的技術優勢與全球價值,更輸出了龍智“驗證-賦能-護航”的本土落地三部曲。推薦給每一位汽車軟件人~
    的頭像 發表于 08-21 14:35 ?757次閱讀
    「龍智×<b class='flag-5'>Perforce</b>」研討會干貨<b class='flag-5'>回顧</b>:<b class='flag-5'>Perforce</b>工具鏈<b class='flag-5'>在</b>汽車行業的應用與中國本土化落地實踐

    Perforce JRebel 簡介:即時加載代碼變更,加速Java應用開發

    Perforce JRebel 專為Java開發提速而生!支持跳過構建與重新部署,實時加載代碼變更,支持100+框架,無縫集成主流IDE與應用服務器。
    的頭像 發表于 08-14 14:35 ?777次閱讀
    <b class='flag-5'>Perforce</b> JRebel 簡介:即時加載代碼變更,加速Java應用<b class='flag-5'>開發</b>

    游戲、汽車、影視制作等行業大廠都在用的版本控制解決方案:Perforce P4 六大核心優勢

    版本控制早已不只是“管理代碼”——它已成為支撐多團隊協同開發的核心平臺。Perforce P4 憑什么成為全球領先企業的首選?本文性能、安
    的頭像 發表于 07-10 15:22 ?779次閱讀
    <b class='flag-5'>游戲</b>、汽車、影視制作等行業大廠都在用的<b class='flag-5'>版本</b><b class='flag-5'>控制</b>解決方案:<b class='flag-5'>Perforce</b> P4 六大核心優勢

    版本控制教程】如何使用Unreal Engine 5 + UE源代碼控制Perforce P4)

    項目越大,越需要靠譜的版本控制系統。Perforce P4不僅是Epic官方推薦的源代碼控制工具,更是大廠團隊協作的核心支持之一。如何配置P
    的頭像 發表于 06-25 11:22 ?1524次閱讀
    【<b class='flag-5'>版本</b><b class='flag-5'>控制</b>教程】如何使用Unreal Engine 5 + <b class='flag-5'>UE</b>源代碼<b class='flag-5'>控制</b>(<b class='flag-5'>Perforce</b> P4)

    Git vs Perforce P4:版本控制系統選型指南(附適用場景、團隊類型)

    Git適合小團隊靈活開發,而Perforce P4更擅長管理大型項目與二進制資產。但你真的了解它們各自最適合的使用場景嗎?或許不是“非此即彼”,而是“如何共存”,推薦一讀!
    的頭像 發表于 06-19 17:04 ?1407次閱讀
    Git vs <b class='flag-5'>Perforce</b> P4:<b class='flag-5'>版本</b><b class='flag-5'>控制</b>系統選型指南(附適用場景、團隊類型)

    主流版本控制工具Git vs Perforce P4:架構模式、性能、大文件管理及分支管理對比詳解

    Git vs Perforce P4,如何選型?架構模式、性能、大文件管理、分支策略四大維度對比,幫你全面了解兩者的核心差異,選擇更合適你團隊需求的版本控制系統。
    的頭像 發表于 06-13 14:52 ?817次閱讀
    主流<b class='flag-5'>版本</b><b class='flag-5'>控制</b>工具Git vs <b class='flag-5'>Perforce</b> P4:架構模式、性能、大文件管理及分支管理對比詳解

    Helix QAC 2025.1 重磅發布!MISRA C:2025? 100%覆蓋

    Helix QAC 2025.1新增功能 Helix QAC 2025.1實現了對新版MISRA C:2025?標準的 100% 覆蓋,并提供對應的合規模塊。此版本還擴展了對 CERT C
    的頭像 發表于 05-13 16:48 ?1464次閱讀
    <b class='flag-5'>Helix</b> QAC 2025.1 重磅發布!MISRA C:2025? 100%覆蓋

    代碼靜態測試工具Perforce QAC 2025.1新特性

    Perforce QAC 2025.1實現了對新發布的MISRA C:2025?標準的100%覆蓋,并提供了對應的新合規模塊。該版本還擴展了對CERT C Level 1建議的覆蓋范圍,改進了與持續集成
    的頭像 發表于 04-21 15:14 ?1077次閱讀
    代碼靜態測試工具<b class='flag-5'>Perforce</b> QAC 2025.1新特性

    DevOps與功能安全:Perforce ALM通過ISO 26262合規認證,簡化安全關鍵系統開發流程

    Perforce ALM(原Helix ALM)通過了國際權威認證機構 TüV SüD的ISO 26262功能安全流程認證!該認證涵蓋Perforce ALM解決方案的所有領域,包括需求管理、測試
    的頭像 發表于 04-11 14:11 ?789次閱讀
    DevOps與功能安全:<b class='flag-5'>Perforce</b> ALM通過ISO 26262合規認證,簡化安全關鍵系統<b class='flag-5'>開發</b>流程

    Perforce品牌及產品名更新:涵蓋版本控制Perforce P4(原Helix Core)、靜態代碼分析Perforce QAC(原Helix QAC)等

    Perforce推出全新P4平臺及P4 One客戶端!廣為人知的“P4”到Helix CorePerforce P4,此次品牌重塑是一次
    的頭像 發表于 03-28 15:04 ?1445次閱讀
    <b class='flag-5'>Perforce</b>品牌及產品名更新:涵蓋<b class='flag-5'>版本</b><b class='flag-5'>控制</b><b class='flag-5'>Perforce</b> P4(原<b class='flag-5'>Helix</b> <b class='flag-5'>Core</b>)、靜態代碼分析<b class='flag-5'>Perforce</b> QAC(原<b class='flag-5'>Helix</b> QAC)等

    硬盤巨頭希捷(Seagate)的版本管理升級之路:SVN到Perforce Helix Core

    硬盤
    龍智DevSecOps
    發布于 :2025年03月13日 10:44:03