Optimize rendering of large number of pairs

This commit is contained in:
Loporrit
2023-12-04 14:17:09 +00:00
parent 283d54aff6
commit 748d6184fc
6 changed files with 85 additions and 47 deletions

View File

@@ -15,11 +15,13 @@ public class PairGroupsUi
private readonly MareConfigService _mareConfig;
private readonly SelectPairForGroupUi _selectGroupForPairUi;
private readonly TagHandler _tagHandler;
private readonly UidDisplayHandler _uidDisplayHandler;
public PairGroupsUi(MareConfigService mareConfig, TagHandler tagHandler, ApiController apiController, SelectPairForGroupUi selectGroupForPairUi)
public PairGroupsUi(MareConfigService mareConfig, TagHandler tagHandler, UidDisplayHandler uidDisplayHandler, ApiController apiController, SelectPairForGroupUi selectGroupForPairUi)
{
_mareConfig = mareConfig;
_tagHandler = tagHandler;
_uidDisplayHandler = uidDisplayHandler;
_apiController = apiController;
_selectGroupForPairUi = selectGroupForPairUi;
}
@@ -182,10 +184,7 @@ public class PairGroupsUi
private void DrawPairs(string tag, IEnumerable<DrawPairBase> availablePairsInThisCategory)
{
// These are all the OtherUIDs that are tagged with this tag
foreach (var pair in availablePairsInThisCategory)
{
using (ImRaii.PushId($"tag-{tag}-pair-${pair.UID}")) pair.DrawPairedClient();
}
_uidDisplayHandler.RenderPairList(availablePairsInThisCategory);
ImGui.Separator();
}