Files
Performance-Fish/DubsAnalyzer.xml
T
bbradson ca9321add8 Lots of new optimizations utilizing prepatcher
To start, this mod now requires Prepatcher and Fishery.
New optimizations include: gene ticking improvements, world object improvements, hediff optimizations, world pawn gc optimizations, better mothballing, dds support, ContentFinder caching, additions and changes to reflection caching, as well as various other additions. Multiplayer support has been improved too, but should be considered highly experimental. The WorkGiver_DoBill bug is fixed in this build. Multiple patches aiming to improve RimWorld's load time have been added too.
2023-06-03 20:24:38 +02:00

232 lines
7.2 KiB
XML

<Analyzer>
<PerformanceFish>
<!-- Settings, Tick, Update, GUI or Modder. Defaults to Modder -->
<!--Category>Modder</Category-->
<!-- On hover tooltip for the sidebar entry -->
<Tooltip>Methods patched and optimized by Performance Fish. Use this in conjunction with its mod settings to measure performance improvements or find eventual issues if a patch acts up</Tooltip>
<!-- All methods in types -->
<!--Types>
<li></li>
</Types-->
<!-- Specific methods -->
<Methods>
<!-- DesignationManager -->
<li>Verse.DesignationManager:SpawnedDesignationsOfDef</li>
<li>Verse.DesignationManager:AnySpawnedDesignationOfDef</li>
<li>Verse.DesignationManager:AllDesignationsOn</li>
<li>Verse.DesignationManager:DesignationOn</li>
<li>Verse.DesignationManager:HasMapDesignationOn</li>
<!-- Misc -->
<!--li>Verse.GenList:ListFullCopy</li--><!-- generic -->
<li>Verse.ThingFilter:CopyAllowancesFrom</li>
<li>Verse.DrawBatch:Flush</li>
<!-- HediffComp_PsychicHarmonizer -->
<li>RimWorld.HediffComp_PsychicHarmonizer:CompPostTick</li>
<!-- HediffSet -->
<li>Verse.HediffSet:HasHediff</li>
<!-- Lister -->
<li>Verse.Map:MapPreTick</li>
<li>Verse.ListerBuildings:ColonistsHaveBuilding</li>
<li>Verse.ListerBuildings:ColonistsHaveResearchBench</li>
<li>Verse.ListerBuildings:ColonistsHaveBuildingWithPowerOn</li>
<li>Verse.ListerBuildings:AllBuildingsColonistOfDef</li>
<li>Verse.ListerBuildings:AllBuildingsNonColonistOfDef</li>
<!-- StorageSettings -->
<li>RimWorld.StorageSettings:AllowedToAccept</li>
<!-- MassUtility -->
<li>RimWorld.MassUtility:GearMass</li>
<li>RimWorld.MassUtility:InventoryMass</li>
<!-- RecipeDef -->
<li>Verse.RecipeDef:get_AllRecipeUsers</li>
<li>Verse.UnfinishedThing:BillOnTableForMe</li>
<!-- Room -->
<!-- Verse.Room:get_ContainedBeds and Verse.Room:get_Owners are almost exclusively used by Pawn_Ownership.get_OwnedRoom -->
<li>RimWorld.Pawn_Ownership:get_OwnedRoom</li>
<li>Verse.Room:get_Regions</li>
<li>Verse.Room:get_ContainedAndAdjacentThings</li>
<!-- StoreUtility -->
<!-- ThingFilter -->
<li>Verse.ThingFilter:get_AllowedThingDefs</li>
<li>Verse.ThingFilter:get_AllStorableThingDefs</li>
<!-- ThingOwnerUtility -->
<!--li>Verse.ThingOwnerUtility.GetAllThingsRecursively</li--><!-- generic -->
<li>Verse.MapPawns:get_AllPawnsUnspawned</li>
<!-- ThoughtWorker_Precept_AltarSharing -->
<li>RimWorld.ThoughtWorker_Precept_AltarSharing:ShouldHaveThought</li>
<!-- GenClosest -->
<!-- Utility -->
<!-- WorkGiver_DoBill -->
<!--li>RimWorld.WorkGiver_DoBill:TryFindBestIngredientsHelper</li-->
<!--li>RimWorld.WorkGiver_DoBill+&lt;&gt;c__DisplayClass21_0:&lt;TryFindBestIngredientsHelper&gt;b__4</li-->
<!-- WorkGiver_Haul -->
<!--li>RimWorld.WorkGiver_Haul:PotentialWorkThingsGlobal</li-->
<li>PerformanceFish.JobSystem.WorkGiver_HaulOptimization+PotentialWorkThingsGlobal_Patch:Sort</li>
<li>RimWorld.WorkGiver_Haul:JobOnThing</li>
<!-- JobGiver_Haul -->
<li>RimWorld.JobGiver_Haul:TryGiveJob</li>
<!-- IdeoUtility -->
<li>RimWorld.IdeoUtility:GetStyleDominance</li>
<!-- ThingCompPatches -->
<li>RimWorld.CompAssignableToPawn_Bed:IdeoligionForbids</li>
<!-- Reflection -->
<li>System.RuntimeType:GetField</li>
<li>System.Type:GetMethod</li>
<li>System.Type:GetConstructor</li>
<li>System.Type:GetProperty</li>
<li>System.Reflection.MonoField:GetValue</li>
<li>System.Reflection.FieldInfo:SetValue</li>
<li>System.Reflection.MethodBase:Invoke</li>
</Methods>
<!-- Specific methods of all subclasses -->
<!--DerivedMethods>
<li></li>
</DerivedMethods-->
<!-- All methods of subclasses -->
<!--DerivedTypes>
<li></li>
</DerivedTypes-->
<!-- All methods of types nested within specified types -->
<!--NestedTypes>
<li></li>
</NestedTypes-->
</PerformanceFish>
<ThingCompTick>
<Tooltip>Tick methods of comps attached to Things. Any ThingWithComps can have these, and any mod can add new ones</Tooltip>
<Category>Tick</Category>
<DerivedMethods>
<li>Verse.ThingComp:CompTick</li>
<li>Verse.ThingComp:CompTickRare</li>
<li>Verse.ThingComp:CompTickLong</li>
</DerivedMethods>
</ThingCompTick>
<ThingCompUpdate>
<Tooltip>Update methods of comps attached to Things. Any ThingWithComps can have these, and any mod can add new ones</Tooltip>
<Category>Update</Category>
<DerivedMethods>
<li>Verse.ThingComp:DrawGUIOverlay</li>
<li>Verse.ThingComp:PostDraw</li>
<li>Verse.ThingComp:PostDrawExtraSelectionOverlays</li>
<li>Verse.ThingComp:PostPrintOnto</li>
</DerivedMethods>
</ThingCompUpdate>
<Hediffs>
<Tooltip>Ticking health stuff ond other things implanted in pawn bodies</Tooltip>
<Category>Tick</Category>
<DerivedMethods>
<li>Verse.Hediff:Tick</li>
<li>Verse.Hediff:PostTick</li>
</DerivedMethods>
</Hediffs>
<Abilities>
<Tooltip>Ticking methods of abilities. Cooldown, effects, combat</Tooltip>
<Category>Tick</Category>
<DerivedMethods>
<li>RimWorld.Ability:AbilityTick</li>
<li MayRequire="OskarPotocki.VanillaFactionsExpanded.Core">VFECore.Abilities.Ability:Tick</li>
</DerivedMethods>
</Abilities>
<Precepts>
<Tooltip>Ticking methods of precepts. Ideology stuff.</Tooltip>
<Category>Tick</Category>
<DerivedMethods>
<li MayRequire="Ludeon.RimWorld.Ideology">RimWorld.Precept:Tick</li>
</DerivedMethods>
</Precepts>
<Genes>
<Tooltip>Ticking methods of genes. Yes, all the genes tick.</Tooltip>
<Category>Tick</Category>
<DerivedMethods>
<li MayRequire="Ludeon.RimWorld.Biotech">Verse.Gene:Tick</li>
</DerivedMethods>
</Genes>
<HediffComps>
<Tooltip>Comps attached to Hediffs. Often responsible for the actual logic</Tooltip>
<Category>Tick</Category>
<DerivedMethods>
<li>Verse.HediffComp:CompPostTick</li>
</DerivedMethods>
</HediffComps>
<AbilityComps>
<Tooltip>Comps attached to abilities</Tooltip>
<Category>Tick</Category>
<DerivedMethods>
<li>RimWorld.AbilityComp:CompTick</li>
</DerivedMethods>
</AbilityComps>
<WorldObjects>
<Tooltip>Settlements, caravans etc</Tooltip>
<Category>Tick</Category>
<DerivedMethods>
<li>RimWorld.Planet.WorldObject:Tick</li>
</DerivedMethods>
</WorldObjects>
<WorldObjectComps>
<Tooltip>Comps attached to settlements, caravans etc</Tooltip>
<Category>Tick</Category>
<DerivedMethods>
<li>RimWorld.Planet.WorldObjectComp:CompTick</li>
</DerivedMethods>
</WorldObjectComps>
<WorldComponentTick>
<Tooltip>Tick methods of comps with one instance attached to the game world</Tooltip>
<Category>Tick</Category>
<DerivedMethods>
<li>RimWorld.Planet.WorldComponent:WorldComponentTick</li>
</DerivedMethods>
</WorldComponentTick>
<WorldComponentUpdate>
<Tooltip>Update methods of comps with one instance attached to the game world</Tooltip>
<Category>Update</Category>
<DerivedMethods>
<li>RimWorld.Planet.WorldComponent:WorldComponentUpdate</li>
</DerivedMethods>
</WorldComponentUpdate>
<MentalStates>
<Tooltip>Tick methods of mental states like berserk, tantrum etc</Tooltip>
<Category>Tick</Category>
<DerivedMethods>
<li>Verse.AI.MentalState:MentalStateTick</li>
</DerivedMethods>
</MentalStates>
</Analyzer>