Страниц: [1]
  Печать  
Автор Тема: gf_draw_poly_fill - утечка памяти  (Прочитано 4572 раз)
qnxloder
Sr. Member
****
Offline Offline

Сообщений: 292


Просмотр профиля
« : Октября 03, 2013, 12:50:03 pm »

Всем добрый день.
QNX 6.5.0.
Давно использую GF но только недавно(в связи с увеличением к-ва полигонов) заметил, что gf_draw_poly_fill подъедает память, причем это зависит не только от к-ва точек, но и от к-ва вызовов (что 1000 раз по 300 точек, что 10 раз по 30000).
При этом gf_draw_polyline вместо нее работает нормально.
Еще память подъедают линии с толщиной > 1.

PgDrawPolygon память не подъедает, но заливка картинки(карты) вся в горизонтальную полоску.

Встречался ли кто с этим и что можете посоветовать?
Заранее благодарю.
Записан
qnxloder
Sr. Member
****
Offline Offline

Сообщений: 292


Просмотр профиля
« Ответ #1 : Октября 22, 2013, 10:48:58 am »

Выяснил, что утечка (при использовании что gf_draw_poly_fill) возникает на /dev/zero принадлежащих процессу (кол-во /dev/zero и размер данных растет при каждой gf_draw_poly_fill). Для gf_draw_polyline такого не наблюдается.

Есть хоть какие идеи?
Заранее благодарю.
Записан
qnxloder
Sr. Member
****
Offline Offline

Сообщений: 292


Просмотр профиля
« Ответ #2 : Октября 22, 2013, 12:19:58 pm »

Сразу не проверил: gf_draw_poly_fill возвращает GF_ERR_MEM(не всегда), gf_draw_polyline возвращает GF_ERR_OK(кол-во точек одинаково). Похоже это связано с каким-то буффером, если так, то как его увеличить?

Во вложении тестовая программа. В ней gf_draw_poly_fill возвращает GF_ERR_OK, но утечка видна.
« Последнее редактирование: Октября 23, 2013, 09:24:34 am от qnxloder » Записан
Страниц: [1]
  Печать  
 
Перейти в: