Это похоже на опрос, что плохо, так как требует много ресурсов. На самом деле вы все равно должны использовать события, поскольку событие, которое должно вызвать обновление, должно запускаться при изменении вашего изображения.
Однако, если вы хотите выполнять вещи в фоновом режиме, возможно, вам нужен обработчик событий бездействия, который запускается каждый раз, когда в программе больше нет событий для обработки. Для этого используйте g_idle_add
.
Если вы хотите выполнить действие, скажем, каждые 5 секунд, то вместо этого использовали событие таймера, как предложил Джереми. Вы должны использовать g_timeout_add_seconds
для кратности секунды (это позволяет избежать пробуждения ЦП без причины, что полезно для хорошего управления питанием), или g_timeout_add
для детализация в миллисекундах.