vtkUnstructedGrid非结构化网格效率问题

C#编程语言下,在vtkUnstructedGrid中添加数据时,数据量很大时,效率执行很慢

        DateTime start = DateTime.Now;
        foreach (PartUnit model in parts2Nodes.Keys)
        {
            if (!model.Visible)
            {
                continue;
            }
            foreach (AbstractCell cell in model.Cells)
            {
                if (availableCellIds != null && !availableCellIds.Contains(cell.CellId))
                {
                    continue;
                }
                //iCellId = (int)grid.InsertNextCell(12, cell.IdList);
                iCellId++;
                actualCellId2OriginalId[iCellId] = cell.CellId;
                int iCount = cell.Count;
                for (int i = iCount - 1; i >= 0; --i)
                {
                    pointsState[cell[i]] = true;
                }
            }
        }
        DateTime end = DateTime.Now;

        TimeSpan time = end - start;

        time.TotalMilliseconds.ToString();

当model.Cells总共有200多万个单元时,耗时要12s以上,效率很低,请求各位走过路过的大佬,我该怎么做

你有两重循环大量的contains,可以考虑用dictionary先把键提取出来再连接,而不是反复循环