[Gambas-user] Program producing constant load

Rolf-Werner Eilert rwe-sse at osnanet.de
Thu Apr 21 08:48:12 CEST 2022


Am 20.04.22 um 16:33 schrieb T Lee Davidson:
> On 4/20/22 02:58, Rolf-Werner Eilert wrote:
>> 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
> 
> Rolf,
> 
> I replied to your thread and informed you what is causing the issue back 
> on April 1. Apparently, you did not get that message.
> 
> See:
> https://lists.gambas-basic.org/pipermail/user/2022-April/075722.html
> 
> 
Oh yes, I completely missed all these messages of 1 April, but they are 
here - thank you so much, I will try to solve it that way.

Regards
Rolf


More information about the User mailing list