Performance Fish

This commit is contained in:
bbradson
2022-10-24 18:24:02 +02:00
parent 594b32b4ef
commit 2efa8e466c
69 changed files with 9147 additions and 3 deletions
+189
View File
@@ -0,0 +1,189 @@
<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>
<ThingComps>
<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>
</ThingComps>
<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>
<HediffComps>
<Tooltip>Comps attached to Hediffs. Often responsible for the actual logic</Tooltip>
<Category>Tick</Category>
<DerivedMethods>
<li>Verse.HediffComp:CompPostTick</li>
</DerivedMethods>
</HediffComps>
<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>