private void PopulateBenchmarkInformation(Protein protein, ProteinBenchmark benchmark, UnitInfoModel unitInfoModel, SlotStatus status, string ppdFormatString, ICollection <string> lines) { if (protein == null) { return; } var calculateBonus = _prefs.Get <BonusCalculationType>(Preference.BonusCalculation); var calculateBonusEnabled = calculateBonus.IsEnabled(); lines.Add(String.Empty); lines.Add(String.Format(" Name: {0}", benchmark.OwningSlotName)); lines.Add(String.Format(" Path: {0}", benchmark.OwningClientPath)); lines.Add(String.Format(" Number of Frames Observed: {0}", benchmark.FrameTimes.Count)); lines.Add(String.Empty); lines.Add(String.Format(" Min. Time / Frame : {0} - {1:" + ppdFormatString + "} PPD", benchmark.MinimumFrameTime, GetPPD(benchmark.MinimumFrameTime, protein, calculateBonusEnabled))); lines.Add(String.Format(" Avg. Time / Frame : {0} - {1:" + ppdFormatString + "} PPD", benchmark.AverageFrameTime, GetPPD(benchmark.AverageFrameTime, protein, calculateBonusEnabled))); if (unitInfoModel != null) { lines.Add(String.Format(" Cur. Time / Frame : {0} - {1:" + ppdFormatString + "} PPD", unitInfoModel.GetFrameTime(PpdCalculationType.LastFrame), unitInfoModel.GetPPD(status, PpdCalculationType.LastFrame, calculateBonus))); lines.Add(String.Format(" R3F. Time / Frame : {0} - {1:" + ppdFormatString + "} PPD", unitInfoModel.GetFrameTime(PpdCalculationType.LastThreeFrames), unitInfoModel.GetPPD(status, PpdCalculationType.LastThreeFrames, calculateBonus))); lines.Add(String.Format(" All Time / Frame : {0} - {1:" + ppdFormatString + "} PPD", unitInfoModel.GetFrameTime(PpdCalculationType.AllFrames), unitInfoModel.GetPPD(status, PpdCalculationType.AllFrames, calculateBonus))); lines.Add(String.Format(" Eff. Time / Frame : {0} - {1:" + ppdFormatString + "} PPD", unitInfoModel.GetFrameTime(PpdCalculationType.EffectiveRate), unitInfoModel.GetPPD(status, PpdCalculationType.EffectiveRate, calculateBonus))); } lines.Add(String.Empty); }