@samael228

Как сделать 500 кадров в сек в Form C#?

Проблема заключается в том, что я хочу реализовать обновление кадров примерно 500 в секунду. В первой реализации, которую я пробовал, у меня получилось максимум достичь 60 кадров. В другой реализации, с помощью апдейта, я смог уже достичь 600-500 кадров, которые мне нужно. У меня создаётся мерцание. Я решил, что можно использовать двойной буфер у формы. но в таком случии меня 120 фпс

public async void Timer()
{
    while (true)
    {


        //1
      //this.Invalidate(false);
      //await Task.Delay(1);
        

        //2
        //this.Update();
        //this.Invalidate(false);




        
    }
 private void Form1_Paint(object sender, PaintEventArgs e)
 {
     managementOverlay.Update(e.Graphics);
 }
}
  • Вопрос задан
  • 18 просмотров
Пригласить эксперта
Ответы на вопрос 1
VoidVolker
@VoidVolker
Dark side eye. А у нас печеньки! А у вас?
А вы какую задачу-то решаете? Если смотреть на задачу с общей точки зрения практичности и применимости, то фраза "ну нахер" описывает решение крайне точно. Если вам надо именно чисто в самих формах и именно в шарпе - чисто теоретически на мощной машине с банкой вазелина и другими нецензурными вещами вполне можно достичь такого показателя. Опять же - я говорю не про пустое окно в один пиксель, а про реальное приложение с кучей кнопок, элементов управления и всего остального на 4к экране. Проблема форм в том, что там используется легаси код GDI+ и в современных виндах там еще поверх чего-то накрутили, плюс еще всякое накручено в формах и дотнете и как результат - можно получить лаги на банальных дропбоксах в сотню элементов. Если же вам нужно получить именно результат - окно с требуемым фрейм-рейтом, то тут уже есть более практичные варианты: делаем стандартное окно и выводим в него нужное на сях или плюсах прямо в пиксели или через OpenGL для использования ресурсов видеоадаптера).
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 нояб. 2024, в 03:54
1500 руб./за проект
22 нояб. 2024, в 02:56
10000 руб./за проект
22 нояб. 2024, в 00:55
500 руб./за проект