"Wie viel mehr wirst du sammeln?" - ein Satz, den jeder Entwickler mindestens einmal mitten in der Nacht sagte. Ja, die Montage kann lang sein und es gibt kein Entkommen. Sie können das Ganze nicht einfach nehmen und parallelisieren, nicht auf einigen miserablen 8 - 12 Kernen, sondern auf 100+. Oder ist es möglich?
Ich brauche mehr Kerne!
, , . , - , . , , , – , build .
, . , . , , ...
" " - . , . , , . , :)
!
- , . , , , . , - .
?
, , , . Chromium Linux, - , - ... ( ?). , .
, - , "" Unreal Engine. ! , UE Open Source.
, : Unreal Tournament. , - **.
100+ !
, , IncrediBuild. , - IncrediBuild 20 . , , , distcc, , Windows.
, . :
Slack;
.
, , Slack... - 12 20. , , . 145 (+/- 10) :)
, , Visual Studio. ... :)
, , ShaderCompileWorker UnrealLightmass. , . :
, ?
, 30 6! . , , . , .
?
IncrediBuild , . , , , PVS-Studio. .
, : . , ; , ... – :(
, - 145 :
:
, :
, ... , . , ... , .
PVS-Studio #2
- Unreal Engine, :
, , -StaticAnalyzer . , . , .
:
CLMonitor.exe monitor
. IncrediBuild, .
:
Total build time: 1710,84 seconds (Local executor: 1526,25 seconds)
, :
CLMonitor.exe saveDump -d dump.gz
, . , , , – .
:
CLMonitor.exe analyzeFromDump -l UE.plog -d dump.gz
, IncrediBuild. analyze.bat. profile.xml:
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<Profile FormatVersion="1">
<Tools>
<Tool Filename="CLMonitor" AllowIntercept="true" />
<Tool Filename="cl" AllowRemote="true" />
<Tool Filename="PVS-Studio" AllowRemote="true" />
</Tools>
</Profile>
145- :
ibconsole /command=analyze.bat /profile=profile.xml
Build Monitor:
. , - - . Unreal Tournament .
PVS-Studio #3
....\Build.h(42): fatal error C1189: #error: Exactly one of [UE_BUILD_DEBUG \
UE_BUILD_DEVELOPMENT UE_BUILD_TEST UE_BUILD_SHIPPING] should be defined to be 1
? – , 1:
UE_BUILD_DEBUG;
UE_BUILD_DEVELOPMENT;
UE_BUILD_TEST;
UE_BUILD_SHIPPING.
, , - . , . - . , precompile header, . :
#ifdef PVS_STUDIO
#define _DEBUG
#define UE_BUILD_DEVELOPMENT 1
#define WITH_EDITOR 1
#define WITH_ENGINE 1
#define WITH_UNREAL_DEVELOPER_TOOLS 1
#define WITH_PLUGIN_SUPPORT 1
#define UE_BUILD_MINIMAL 1
#define IS_MONOLITHIC 1
#define IS_PROGRAM 1
#define PLATFORM_WINDOWS 1
#endif
build.h
. , PVS_STUDIO.
, :
, 15 – . , 2 . 15 . ...
?
, N N . , ( ), , , .
, , . , . , :