[Gambas-user] Program producing constant load
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
>> >> 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
>> >> 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
>> 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
>> May that be the reason? Or should I look for something else? I have
>> other projects running with the same libraries here, they use
>> 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
>> ----[ 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!
> ----[ 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...
More information about the User