[Gambas-user] Program producing constant load

Rolf-Werner Eilert rwe-sse at osnanet.de
Thu Apr 21 12:28:48 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
> 
> 

Just FYI, I changed the whole thing back to Data events and put the 
header thing into the Sub which prepares them. Now it runs perfectly.

So thank you very much again for the help!

Regards
Rolf



More information about the User mailing list