优化大批量添加数据时卡顿严重的问题

This commit is contained in:
monitor1394
2019-09-27 18:18:07 +08:00
parent 82cc23548d
commit fde636e084
3 changed files with 9 additions and 5 deletions

View File

@@ -425,7 +425,7 @@ namespace XCharts
/// <summary> /// <summary>
/// Whether series animation enabel. /// Whether series animation enabel.
/// 启用或取消起始动画。 /// 启用或关闭起始动画。
/// </summary> /// </summary>
/// <param name="flag"></param> /// <param name="flag"></param>
public void AnimationEnable(bool flag) public void AnimationEnable(bool flag)

View File

@@ -25,6 +25,8 @@ namespace XCharts
private List<XAxis> m_CheckXAxises = new List<XAxis>(); private List<XAxis> m_CheckXAxises = new List<XAxis>();
private List<YAxis> m_CheckYAxises = new List<YAxis>(); private List<YAxis> m_CheckYAxises = new List<YAxis>();
private Grid m_CheckCoordinate = Grid.defaultGrid; private Grid m_CheckCoordinate = Grid.defaultGrid;
private bool m_XAxisChanged;
private bool m_YAxisChanged;
protected override void Awake() protected override void Awake()
{ {
@@ -619,7 +621,7 @@ namespace XCharts
private void CheckYAxis() private void CheckYAxis()
{ {
if (!ChartHelper.IsValueEqualsList<YAxis>(m_CheckYAxises, m_YAxises)) if (m_YAxisChanged || !ChartHelper.IsValueEqualsList<YAxis>(m_CheckYAxises, m_YAxises))
{ {
foreach (var axis in m_CheckYAxises) foreach (var axis in m_CheckYAxises)
{ {
@@ -627,13 +629,14 @@ namespace XCharts
} }
m_CheckYAxises.Clear(); m_CheckYAxises.Clear();
foreach (var axis in m_YAxises) m_CheckYAxises.Add(axis.Clone()); foreach (var axis in m_YAxises) m_CheckYAxises.Add(axis.Clone());
m_YAxisChanged = false;
OnYAxisChanged(); OnYAxisChanged();
} }
} }
private void CheckXAxis() private void CheckXAxis()
{ {
if (!ChartHelper.IsValueEqualsList<XAxis>(m_CheckXAxises, m_XAxises)) if (m_XAxisChanged || !ChartHelper.IsValueEqualsList<XAxis>(m_CheckXAxises, m_XAxises))
{ {
foreach (var axis in m_CheckXAxises) foreach (var axis in m_CheckXAxises)
{ {
@@ -641,6 +644,7 @@ namespace XCharts
} }
m_CheckXAxises.Clear(); m_CheckXAxises.Clear();
foreach (var axis in m_XAxises) m_CheckXAxises.Add(axis.Clone()); foreach (var axis in m_XAxises) m_CheckXAxises.Add(axis.Clone());
m_XAxisChanged = false;
OnXAxisChanged(); OnXAxisChanged();
} }
} }

View File

@@ -93,7 +93,7 @@ namespace XCharts
public void AddXAxisData(string category, int xAxisIndex = 0) public void AddXAxisData(string category, int xAxisIndex = 0)
{ {
m_XAxises[xAxisIndex].AddData(category, m_MaxCacheDataNumber); m_XAxises[xAxisIndex].AddData(category, m_MaxCacheDataNumber);
OnXAxisChanged(); m_XAxisChanged = true;
} }
/// <summary> /// <summary>
@@ -105,7 +105,7 @@ namespace XCharts
public void AddYAxisData(string category, int yAxisIndex = 0) public void AddYAxisData(string category, int yAxisIndex = 0)
{ {
m_YAxises[yAxisIndex].AddData(category, m_MaxCacheDataNumber); m_YAxises[yAxisIndex].AddData(category, m_MaxCacheDataNumber);
OnYAxisChanged(); m_YAxisChanged = true;
} }
/// <summary> /// <summary>