
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的性能非常好。