Оптимальная система вывода множества графических объектов и их движение - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте программисты У меня к вам следующий вопрос: Есть большое количество(5000-20000) объектов(квадраты 2*2 определенного цвета) и их движение нужно вывести на экран. У каждого объекта типа dot есть свой поток, все объекты хранятся в List dots Используя стандартные компоненты все работает нормально, но когда количество точек переваливает за 500 вместо отображения получаю красное перекрестие, Код перерисовки
 
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);              
            }
            
        }
И вопрос есть ли более оптимальные и быстрые средства вывода? А также для большого количества точек оправдано ли использование для каждой точки своего потока типа Thread или есть другие возможности?

Решение задачи: «Оптимальная система вывода множества графических объектов и их движение»

textual
Листинг программы
dx += r.NextDouble() - 0.5;
dy += r.NextDouble() - 0.5;

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.4 из 5
Похожие ответы