[Gambas-user] Program producing constant load

Rolf-Werner Eilert rwe-sse at osnanet.de
Wed Apr 20 08:58:31 CEST 2022


Am 31.03.22 um 12:56 schrieb Rolf-Werner Eilert:
> Am 30.03.22 um 14:05 schrieb Bruce Steers:
>>
>>
>> On Wed, 30 Mar 2022 at 11:06, Rolf-Werner Eilert <rwe-sse at osnanet.de 
>> <mailto:rwe-sse at osnanet.de>> wrote:
>>
>>     Am 30.03.22 um 11:32 schrieb Benoît Minisini:
>>      > Le 30/03/2022 à 10:54, Rolf-Werner Eilert a écrit :
>>      >> For my office use, I made a remake of my calendar program.
>>      >>
>>      >> Everything running fine so far, but today I saw that when I have
>>     the
>>      >> program on the active screen, it produces a constant load of
>>     about 40
>>      >> % (the little faker on my desktop has 4 CPUs and Xosview says
>>     1.3 with
>>      >> the calendar visible).
>>      >>
>>      >> top says gbr3 is sucking CPU, but of course no more information.
>>      >>
>>      >> So my question is, how can I find out what is going on within my
>>      >> program? Obviously, there is one event which is fired over and 
>> over
>>      >> again.
>>      >>
>>      >> Regards
>>      >> Rolf
>>      >>
>>      >
>>      > gbx3 -t displays each ligne executed. It generates a lot of log
>>     in the
>>      > terminal, but you can see what the program runs exactly.
>>      >
>>      > Regards,
>>      >
>>
>>     Oh yes, that shows it clearly: There is a large gridview 
>> displaying the
>>     hours for each day. Obviously, the gridview constantly fires up the
>>     Data
>>     event which jumps into one function looking for the school holidays.
>>
>>     The question is, why is Data called over and over again?
>>
>>     This is an Ubuntu Mate and I chose gb.qt5 and gb.qt5.ext as 
>> libraries.
>>     May that be the reason? Or should I look for something else? I have
>>     other projects running with the same libraries here, they use 
>> Gridview
>>     as well, and they do not constantly fire the Data event.
>>
>>
>> Lets see the code.
>> I suspect there is some code causing the data event to trigger again 
>> within the data event.
>>
>> Like putting any instructions in a _Draw event that cause an object 
>> refresh will cause a recursive loop
>> BruceS
>>
>>
>>
>> ----[ http://gambaswiki.org/wiki/doc/netiquette ]----
> 
> Here is a special version Kalender4-Test which uses a special directory 
> for its calendar data and should run on other systems too.
> 
> You need the archive and the kaltes.tar.gz of the special directory. 
> Unpack or copy the latter to your $home as $home/.kalendertest/... It 
> contains only holiday data, everything else is left out, but it runs 
> this way and maybe shows the problem.
> 
> Hope this helps!
> 
> Regards
> Rolf
> 
> 
> ----[ http://gambaswiki.org/wiki/doc/netiquette ]----

I wouldn't like to leave this open, so I add a report what came out.

The real reason for this hassle couldn't be found, no-one seems to have 
been able to find the reason for the three calendar GridViews to fire 
Data events all the time.

So I decided to re-write the Data events in a way the calendar data are 
written directly into the GridViews. At least this helped. When the 
calendar is visible now the CPU has holidays.

I can only explain this with some of the VBox, HBox or whatever 
containers listening to - perhaps - mouse events or something like that 
and refreshing or arranging its contents over and over again.

If someone finds the reason I would be glad to know as this might be 
helpful for the next project...

Regards
Rolf


More information about the User mailing list