
http://www.cegui.org.uk
版權所有©2004-2022 Paul D Turner,Cegui開發團隊和貢獻者
現在,曾經是純文本的CEGUI的大多數輔助文件現在都保存在DOC/DOC/DOXYGEN目錄中的“ doxygygy”格式中 - 請參閱這些文件,或者為更友好的格式生成文檔。另外,請訪問http://static.cegui.org.uk/docs,以了解您的所有文檔需求!
接下來只是一個快速啟動指南,請訪問我們的doxygen文檔以獲取更詳細的文檔。
v0-8提供了CEGUI的最新穩定ABI兼容(至0.8.x版本)。基於C ++ 03標準,與最常見的編譯器兼容,包括Visual Studio 2008-2015。由於該分支是ABI兼容的,因此可以將0.8.x版本的CEGUI動態庫替換為較新的0.8.x版本或反之亦然,而無需重新編譯項目。該分支也是新的0.8.x釋放的基礎。v0提供了CEGUI的最新穩定API兼容版本,並包含破壞ABI的更改。基於C ++ 03標準,與最常見的編譯器兼容,包括Visual Studio 2008-2015。該分支的版本將用於下一個次要版本。default包含僅在下一個主要版本中使用的更改。基於C ++ 11標準,並與最常見的最新編譯器兼容,包括Visual Studio 2013或更新。該分支非常不穩定,將引入基本變化,並破壞ABI和API兼容性。我們不建議您在生產中使用它,除非您在很大程度上依賴一個功能並與CEGUI的開發人員進行了討論:建議您了解所有潛在的風險。在一般情況下,建議您使用其中一個穩定的分支,以節省很多頭痛。 v0-8和v0分支被認為是穩定的,但確實經歷了錯誤的修改和小變化,這不會分別破壞ABI和API。當然,這些變化引入了很小的風險,即目前在分支機構中可能存在暫時的問題。如果您注意到這些分支機構中的任何錯誤,請盡快向我們報告 - 使用論壇和/或我們的IRC頻道#cegui和#cegui-devel in irc.freenode.net上的cegui -devel通知我們。請考慮我們每天24小時不可用IRC提供,但是請隨時在那裡閒置,直到我們回應。如有疑問,請隨時以這種方式問我們。對於生產使用量,我們通常建議使用穩定的發行版本。可以在我們的網站上找到一系列版本。
我們對包含適當提交消息的自然提交的干淨拉力請求最快樂。我們也接受簡單的補丁,但使我們更容易接受您的貢獻,從而大大加快了審核過程。
Here is an explanation on how to fork from our repository, commit changes to your fork, and create a pull request targeting the right branch: https://confluence.atlassian.com/display/BITBUCKET/Fork+a+Repo,+Compare+Code,+and+Create+a+Pull+Request
還請記住以正確的存儲庫為目標。如果可能的話,我們更喜歡針對ABI兼容分支。否則API兼容。有關ABI/API兼容性的信息,請閱讀此頁面:https://community.kde.org/policies/binary_compatibility_issues_issues_with_cc%2B%2B
如有疑問,請與我們聯繫!
對於 *nix系統和窗口,以下腳本或多或少是通用的。可能需要較小的更改。
cd $cegui_folder
# you can call the folder differently but "build" is customary
mkdir build/
cd build/
# run the configure step
cmake-gui ../
# fix any issues pointed out by cmake
# not all dependencies are required so if some are not found, don't panic and carry on!
# alternative (if you are a command line pro)
# cmake ../此時,將生成MakeFiles,Project Files或其他內容。下一步取決於那是哪個。
對於makefiles,只需運行
cd $cegui_folder
cd build/
make對於Visual Studio解決方案,雙擊,相應地更改構建模式(發布,調試,...),然後按構建。
本節僅在 *nix狀系統上有意義。
確保在配置時間設置了正確的CMAKE_INSTALL_PREFIX。替代重新運行cmake並將其設置。默認情況下,它應該是/usr/local/但您可能想要/usr/ 。
cd $cegui_folder
cd build/
sudo make install如果您安裝了CEGUI系統範圍內的CEGUI,請致電:
CEGUISampleFramework-0如果最好是從命令行調用它,因為它會要求您選擇一個渲染器,以防您有1個以上可用。
如果您沒有安裝在整個系統範圍內,則更多的參與和復雜。
cd $cegui_folder
cd build/bin/
CEGUI_SAMPLE_DATAPATH=../../datafiles ./CEGUISampleFramework-0CEGUI的所需依賴項相對較少(目前僅GLM)和許多可選依賴項。它支持許多不同的渲染庫和發動機,許多不同的圖像加載程序/編解碼器(通過選項通過)以及許多不同的XML解析器這一事實是一件好事,只有一個不知情的人會告訴您其他情況。
如果Cmake告訴您找不到某些東西,您就不會驚慌;)!這很可能是一個無害的信息。您只需要擔心,如果您知道您需要的依賴性或根本找不到依賴關係。在後一種情況下,在Windows和Mac OS X上,您可能沒有將“依賴關係”文件夾(包括在調試/發布/whtecter/nother-else-you-need中編譯的依賴項)放入包含所有CEGUI文件和文件夾的文件夾中。您還可以使用變量cegui_depentencies_dir在CMAKE中指定另一個文件夾。
這個編號系統實際上確實有一個非常重要的目的!請讓我們保留它們。它允許Linux發行版(和其他)安裝多個CEGUI API版本,從而簡化遷移並加快採用新的CEGUI版本。在Windows上,這將使我們將來使用Nuget為您提供預編譯的CEGUI依賴性。
這是預期的行為。首先,您應該始終在發布模式下測試性能,但是即使在那裡,光標也會慢。原因僅僅是因為任何應用程序都不太可能具有與OS光標一樣快的光標。還請記住,速度與您的幀速率緊密相關,因此,如果您以5000 fps運行Helloworld演示,則差異將較小,但仍然很明顯。任何遊戲,仿真或其他應用程序都可以通過OpenGL/Direct3D函數呈現自己的光標。但是,如果您的應用程序以無框架下降的情況下以rasonable的幀速率(> 60 fps)運行,並且不會被認為,則光標速度並不是用戶的問題。隱藏操作系統光標後,延遲可能不再引起您的注意。
首先,在這種情況下,“ dll地獄”一詞被錯誤使用。這並不意味著“我看到許多DLL文件,這一定是地獄!”。動態鏈接CEGUI庫是使事物正常工作的最佳方法,並保證了良好的兼容性,並且與依賴關係產生的問題的機會很小。在Windows上,我們建議使用與CEGUI的動態鏈接,而不是使用靜態鏈接,因為過去的經驗(一些用戶遇到了技術問題),這表明我們更安全。但是,如果您知道自己在做什麼,則肯定可以使用靜態鏈接。請注意,儘管我們只定期測試動態鏈接,因此CMake文件可能已經過時了,您可能必須將鏈接的庫添加到您的IDE等。在積極的說明中:在即將到來的1.0版本中,我們將減少DLLS CEGUI創建的數量,通過將其中一些合併到基礎庫中。可以在此處找到簡短但絕對不是靜態與動態鏈接的優勢和缺點的簡短摘要:
大多數情況下,當用戶在論壇上抱怨Cegui的速度時,事實證明他們要么在調試配置中運行了應用程序,要么做錯了什麼:如果您在每個幀加載佈局資源/文件,或者導致不必要的更新和事件,則可能會很慢。或者,如果您在程序中每幀多次更新CEGUI,則可能會很慢。如果您找不到問題,那麼最好執行論壇/Google搜索,並且 - 如果您找不到任何有用的內容 - 詳細描述您的設置以及您遇到的問題。當Cegui慢速時,這也可能是由於特定功能的特定用法,我們沒有期望或測試。在這種情況下,我們希望您在論壇中描述您的用例,以便我們可以找到解決方案,或者,如果您能夠自己解決問題,請在Bitbucket上創建plull-Quears。
通常,Cegui非常快,可以輕鬆地以速度與其他GUI庫競爭(尤其是基於Flash的庫,因為它們無法直接訪問OpenGL或Direct3D)。儘管沒有復雜的庫會得到完美優化,但CEGUI可以被認為是高性能的。對於在CPU和GPU上進行的計算是正確的。當數百個窗口被打開和同時渲染時,它仍然最佳地運行。
CEGUI快速的最好證明是,使用CEGUI(Torchlight 1,Torchlight 2,Venetica等)製作了顯示數百個小部件並使用複雜層次結構的大型專有遊戲。
我們的大多數樣本(如果以發布模式啟動)將以現代CPU和GPU的速度以高於3000幀的速度呈現。對於某些喜歡引用這種速度比較的可疑基準的人來說,這是一個額外的說明:基準是依賴情況的,並且很容易通過錯誤,效率低下或不尋常的用法歪曲圖書館的實際速度。如果正確使用,並且在預期使用的邊界內,CEGUI的性能非常好。