Оптимальная система вывода множества графических объектов и их движение - C#
Формулировка задачи:
Здравствуйте программисты
У меня к вам следующий вопрос:
Есть большое количество(5000-20000) объектов(квадраты 2*2 определенного цвета) и их движение нужно вывести на экран. У каждого объекта типа dot есть свой поток, все объекты хранятся в List dots
Используя стандартные компоненты все работает нормально, но когда количество точек переваливает за 500 вместо отображения получаю красное перекрестие,
Код перерисовки
И вопрос есть ли более оптимальные и быстрые средства вывода?
А также для большого количества точек оправдано ли использование для каждой точки своего потока типа Thread или есть другие возможности?
protected void layoutform() { while (run) { Invalidate(); Thread.Sleep(50); } } protected override void OnPaint(PaintEventArgs arg) // Перерисо-вать { label1.Text = "количество точек: " + koldot; if (run) { foreach(dot d in dots) arg.Graphics.DrawRectangle(pen1, d.GetdotX(), d.GetdotY(), 2, 2); } }
Решение задачи: «Оптимальная система вывода множества графических объектов и их движение»
textual
Листинг программы
dx += r.NextDouble() - 0.5; dy += r.NextDouble() - 0.5;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д