public static void Main() { var normalList = new NormalList <int>(); var bucketList = new BucketList <int>(); for (int i = 0; i < 1000000; i++) { normalList.Add(i); bucketList.Add(i); } MeasureTime(() => { for (int i = 0; i < 400000; i++) { normalList.Remove(0); } }, "normal list removing"); MeasureTime(() => { for (int i = 0; i < 400000; i++) { bucketList.Remove(0); } }, "bucket list removing"); }
protected override void BuildData() { int SquareSize = 10; int[] index = new int[(SquareSize - 1) * (SquareSize - 1) * 6]; Vector2 uv = Vector2.Zero; Vector3 center = new Vector3(SquareSize, 0, SquareSize) * .5f; for (int x = 0; x < SquareSize; x++) { for (int y = 0; y < SquareSize; y++) { uv = new Vector2(x, y) / (float)(SquareSize - 1); VertexList.Add(new Vector3(x, 0, y) - center); NormalList.Add(Vector3.Up); TexCoordList.Add(uv); ColorList.Add(Color.White); } } for (int x = 0; x < SquareSize - 1; x++) { for (int y = 0; y < SquareSize - 1; y++) { index[(x + y * (SquareSize - 1)) * 6] = ((x + 1) + (y + 1) * SquareSize); index[(x + y * (SquareSize - 1)) * 6 + 1] = ((x + 1) + y * SquareSize); index[(x + y * (SquareSize - 1)) * 6 + 2] = (x + y * SquareSize); index[(x + y * (SquareSize - 1)) * 6 + 3] = ((x + 1) + (y + 1) * SquareSize); index[(x + y * (SquareSize - 1)) * 6 + 4] = (x + y * SquareSize); index[(x + y * (SquareSize - 1)) * 6 + 5] = (x + (y + 1) * SquareSize); } } IndexList.AddRange(index); CalculateTangents(); }