Exemple #1
0
        public void Test_scatter_benchmark()
        {
            int[]     pointCounts = { 1000, 100, 10 };
            const int REPS        = 10;

            Random rand = new(0);

            for (int i = 0; i < pointCounts.Length; i++)
            {
                int      pointCount = pointCounts[i];
                var      plt        = new ScottPlot.Plot();
                double[] xs         = DataGen.Random(rand, pointCount);
                double[] ys         = DataGen.RandomWalk(rand, pointCount);
                plt.AddScatter(xs, ys);
                plt.Render(lowQuality: true);

                for (int j = 0; j < REPS; j++)
                {
                    plt.Render(lowQuality: true);
                }

                double[] renderTimes = plt.BenchmarkTimes();
                Assert.AreEqual(REPS + 1, renderTimes.Length);

                double meanTime = renderTimes.Sum() / renderTimes.Length;
                Console.WriteLine($"Rendered {pointCount} points in {meanTime:N2} ms (n={renderTimes.Length})");
            }
        }