PyGTK: после профилирования gtk.main () занимает больше времени, чем ожидалось, как мне узнать, разумно ли это? - PullRequest
1 голос
/ 03 июля 2011

Моя программа - это визуализатор, который постоянно обновляет дисплей. Я пытаюсь оптимизировать его, чтобы увеличить частоту кадров, и моя самая большая стоимость gtk._gtk.main:

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
        1    9.159    9.159   45.476   45.476 {gtk._gtk.main}
      868    8.146    0.009    9.884    0.011 xyz.py:291(gfx_transform_queue)
      868    7.705    0.009   12.657    0.015 xyz.py:322(gfx_draw_queue)
      868    3.886    0.004    7.755    0.009 xyz.py:240(gfx_queue_atoms)
   868000    2.638    0.000    4.952    0.000 xyz.py:365(gfx_draw_circle)
  7027010    2.111    0.000    2.111    0.000 xyz.py:314(cmp_queue)
  1736000    2.015    0.000    2.015    0.000 {method 'draw_arc' of 'gtk.gdk.Drawable' objects}
   869844    1.728    0.000    1.728    0.000 {numpy.core._dotblas.dot}
      868    1.635    0.002    3.746    0.004 {sorted}
   869872    1.261    0.000    1.261    0.000 {numpy.core.multiarray.array}
      933    1.100    0.001    1.100    0.001 {method 'get_pointer' of 'gtk.gdk.Window' objects}

Это разумное поведение, или возможно я делаю что-то не так, чтобы заставить gtk.main много времени сосать?

1 Ответ

1 голос
/ 27 сентября 2011

Вы неправильно интерпретируете данные профилирования.gtk.main () на самом деле просто запускает вашу программу, когда пользователь взаимодействует с ней.Вы видите, что для запуска вашей программы требуется время, а не сам gtk.main ().

...