userJarryd Campicancel
branchrust_reboot/main/naval_update/relationship_optimcancel

2 Commits over 0 Days - ∞cph!

Today
Added PersistentObjectWorkQueueListBacked, a new version of PersistentObjectWorkQueue that can be provided with a separate list to iterate over Handy for situations where we don't want to maintain a separate list of objects to iterate over, we can now just provide a list and the work queue will iterate over it Doesn't have Add or Remove methods as it only reads the list Updated RelationshipUpdateQueue to iterate over player list instead of a separate, identical list Added an experimental fast path to UpdateAcquaintancesFor that checks the server occlusion state to see if two players can see each other rather than raycasting Much faster than a raycast, although it will still fall back to that if the server doesn't have occlusion enabled, can be disabled with BasePlayer.allowRelationshipServerOcclusion
Today
Move UpdateContacts in RelationshipManager to a PersistentObjectWorkQueue, budgeted to 0.05ms by default (BasePlayer.relationshipUpdateQueueFrameBudgetMs) This used to iterate over every player on the server every 1s so would scale poorly, will now gradually update relationships over time