WebGadget frisst 25% CPU?

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Delle
Beiträge: 1144
Registriert: 10.05.2005 22:48

WebGadget frisst 25% CPU?

Beitrag von Delle »

Hallo,

weiß jemand warum dieser Code hier konstant 25% meiner CPU frisst?!?

Code: Alles auswählen

WebGadget(#Browser,10,595,490,220,"")
SetGadgetItemText(#Browser, #PB_Web_HtmlCode, "<body scroll=no style=margin:10></body")
Läuft da im Hintergrund wohl schon etwa eine Art "Listener" los, ohne das überhaupt was überwacht werden soll?

Danke!
PB 6.21 | Win 11
Benutzeravatar
TroaX
Beiträge: 699
Registriert: 08.03.2013 14:27
Computerausstattung: PC: Ryzen 9 3950X, 96 GB RAM, RX6800XT, 2.5 TB SSD, 21:9 Display, Linux Mint | Lappi: Ryzen 7 5800H, 16 GB RAM, 1 TB SSD, Linux Mint
Wohnort: NRW
Kontaktdaten:

Re: WebGadget frisst 25% CPU?

Beitrag von TroaX »

Der Code so wäre nicht lauffähig. Setze mal testweise ein Delay von 5 ms in die Nachrichtenschleife des Fensters. Ich muss da jetzt raten. Wenn ich das mache, dann bleibt die CPU am schlafen. 25 % sieht mir nach 4 Thread bzw. 4 Kern Cpu aus, bei dem eine "Einheit" blockiert ist. Findet man mit dem Delay schnell raus.
PC: Ryzen 9 3950X | 96 GB RAM | RX6800XT | 2,5 TB NVMe | Linux Mint
Notebook: 16" 3:2 | Ryzen 7 5800H | 16 GB RAM | Radeon Vega | 1TB NVMe | Linux Mint
NAS: N150 Mini-PC | 16 GB RAM | Debian 13+CasaOS
Coding: Purebasic, Spiderbasic, GDevelop, PHP
Blog: https://techtroax.de
Repos: https://codeberg.org/TroaX
Benutzeravatar
Delle
Beiträge: 1144
Registriert: 10.05.2005 22:48

Re: WebGadget frisst 25% CPU?

Beitrag von Delle »

Code: Alles auswählen

Enumeration
  
  #Browser
  
EndEnumeration

OpenWindow(0,0,0,970,850,"",#PB_Window_MinimizeGadget|#PB_Window_MaximizeGadget|#PB_Window_ScreenCentered)
      
WebGadget(#Browser,10,595,490,220,"")
SetGadgetItemText(#Browser, #PB_Web_HtmlCode, "<body scroll=no style=margin:10></body")

 
Repeat

  EventID=WaitWindowEvent()
  
  Delay(10)

Until EventID=#PB_Event_CloseWindow

Das rasselt bei mir immer noch bei 20%...

Auch wird das Programm zwar nach "Close" beendet, allerdings nicht in PB (muss rotes Kreuz manuell drücken).

Die CPU geht erst runter, wenn ich diese Zeile entferne:

Code: Alles auswählen

SetGadgetItemText(#Browser, #PB_Web_HtmlCode, "<body scroll=no style=margin:10></body")
PB 6.21 | Win 11
Benutzeravatar
mk-soft
Beiträge: 3869
Registriert: 24.11.2004 13:12
Wohnort: Germany

Re: WebGadget frisst 25% CPU?

Beitrag von mk-soft »

So geht es ... 0%

Code: Alles auswählen

Enumeration
  #Browser
EndEnumeration

OpenWindow(0,0,0,970,850,"",#PB_Window_MinimizeGadget|#PB_Window_MaximizeGadget|#PB_Window_ScreenCentered)
      
WebGadget(#Browser,10,595,490,220,"")

html.s = "<!DOCTYPE html>"
html + "<body scroll=no style=margin:10></body"
html + "<html>"
SetGadgetItemText(#Browser, #PB_Web_HtmlCode, html)
 
Repeat

  EventID=WaitWindowEvent()

Until EventID=#PB_Event_CloseWindow
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Benutzeravatar
Delle
Beiträge: 1144
Registriert: 10.05.2005 22:48

Re: WebGadget frisst 25% CPU?

Beitrag von Delle »

Oki, merci! :)

Scheint sich einfach am fehlenden HTML-Tag zu stören...
PB 6.21 | Win 11
Benutzeravatar
TroaX
Beiträge: 699
Registriert: 08.03.2013 14:27
Computerausstattung: PC: Ryzen 9 3950X, 96 GB RAM, RX6800XT, 2.5 TB SSD, 21:9 Display, Linux Mint | Lappi: Ryzen 7 5800H, 16 GB RAM, 1 TB SSD, Linux Mint
Wohnort: NRW
Kontaktdaten:

Re: WebGadget frisst 25% CPU?

Beitrag von TroaX »

Ist der Quirks-Modus. Jetzt weiß das Gadget wenigstens, das es HTML 5 sein muss. Ohne Definition tackert der IE alle Möglichkeiten durch und verschwendet Rechenzeit.
PC: Ryzen 9 3950X | 96 GB RAM | RX6800XT | 2,5 TB NVMe | Linux Mint
Notebook: 16" 3:2 | Ryzen 7 5800H | 16 GB RAM | Radeon Vega | 1TB NVMe | Linux Mint
NAS: N150 Mini-PC | 16 GB RAM | Debian 13+CasaOS
Coding: Purebasic, Spiderbasic, GDevelop, PHP
Blog: https://techtroax.de
Repos: https://codeberg.org/TroaX
Antworten