Альтернативный способ рисовать пользовательские вещи на экране в GTK3? - PullRequest
0 голосов
/ 08 апреля 2019

Мне известен только один способ рисования пользовательских объектов на экране - GTKDrawArea с использованием Cairo

Это то, что я сделал: enter image description here Есть ли другие способы архивировать что-то вродеэто, которые являются менее тяжелыми, чем полностью перерисовывать экран 60 раз в секунду?Если нет, существует ли опция для оптимизации (например, использование слоев, чтобы сетка не перерисовывала каждый кадр или не рендерила всю схему сразу, а затем не сдвигала ее)?

Редактировать: я забыл упомянуть GtkGlArea, но этоочень трудно использовать в этой заявке, поэтому я счел это неуместным.

1 Ответ

0 голосов
/ 08 апреля 2019

Это очень широкий вопрос, я пойду.

Вы можете использовать GtkGLArea , который позволяет вам выполнять рендеринг с использованием OpenGL, который может быть более низкоуровневым и, следовательно, более быстрым.чем через Каир.Это, конечно, заставляет вас выполнять намного больше работы.

Вы также можете создать закадровое изображение и отобразить всю схему, а затем просто скопировать подходящий прямоугольник, соответствующий текущему местоположению прокрутки, что можетвероятно, будет быстрее, чем много рисовать.

...