Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: GtkDatabox  (Прочитано 1026 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн lunev

  • Автор темы
  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
GtkDatabox
« : 14 Июня 2010, 18:05:49 »
Здравствуйте, уважаемые!
В программировании под *nix я еще чайник, так что не кричите сильно)
В общем написал программу с использованием gtkdatabox для рисования графиков, НО графики рисуются, как анимация. Каким образом: через callaback функцию с интервалом в 15 милисекунд запускаю функцию read(), в которой в цыкле считываю координаты одной точки (X,Y), а потом создаю и отображаю граф с точкой

graph = gtk_databox_points_new (POINTS,X, Y, &color, 2);
gtk_databox_graph_add (GTK_DATABOX (box), graph);

Все бы было хорошо, НО (как мне это слово уже надоело=) ) после одного такого рисования у меня программа жрет 1Гб памяти + swap при этом после такой крутой рисовалки память не освобождается.

При комментировании строки
graph = gtk_databox_points_new (POINTS,X, Y, &color, 2);
оно память не кушает. Значит проблема я так понимаю где-то внутри(((

Может кто сталкивался с такой проблемой или хне плохо знает Gtkdatabox помогите, помогите кто чем может!

Пользователь решил продолжить мысль 15 Июня 2010, 14:28:24:
Сегодня в общем разобрался я с этим. Оказывается чтобы с помощью GtkDatabox рисовать анимацию достаточно только один раз создать граф с некоторыми X,Y, под который ОДИН РАЗ выделяется память. После этого меняя значения X,Y просто запускаем функцию gtk_widget_queue_draw(widget) (которая объявляет, что переданный ему виджет, визуально недействительный и требует перерисовки). Память не кушает, рисует превосходно, доволен, как слон))) Может кому и пригодится... 
« Последнее редактирование: 15 Июня 2010, 14:28:24 от lunev »

 

Страница сгенерирована за 0.019 секунд. Запросов: 22.