GPU bei 100% in einem OnlyWidgets Projekt

  • Moin zusammen,


    Ich habe für unseren Games Server eine Software geschrieben mit der wir unsere Wirtschaft extern im Auge behalten können. Das Projekt benutzt nur widgets. Gemanagt wird dies durch Arrays aus denen die Blueprints gelöscht werden wenn ein neues erstellt wird.


    Jeder Benutzer hat ein Profil das von der Datenbank abgerufen wird mittels VaRest Plugin.


    Die Vermutung liegt nahe, dass es an der XML Abfrage (Dort werden Serverdaten ausgelesen und mit Strings zerlegt) liegt da diese irgendwie zu oft in dem Log angezeigt wurde obwohl das nur in der Startseite passieren dürfte aber das widget wird zerstört nachdem man woanders drauf klickt. Außerdem rastet die GPU schon im Login Screen aus wo noch nichts geladen wird.


    Weiß einer woran das liegen kann?


    Hier ein kleines Video vom Start der Software. Ist etwas älter weil ich auf arbeit bin. Aber vielleicht erkennt man es da schon. Bei Wunsch kann ich Zugang zur Git Responsity geben oder wir können über TeamViewer schauen.



    Update: Richtiges Video in dem ich es nochmal genauer zeige.

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    Man sieht da halt, dass nicht so viel passiert und es nicht anspruchsvoll ist.


    Bin mittlerweile echt verzweifelt.

    • Offizieller Beitrag

    Schwer zu sagen woran das liegt.

    1.Ein Widget sollte erstellt werden und wenn nicht mehr gebraucht wird zerstört werden. SIcher dass dies effizent passiert ? Er prüfen ob das Widget bereits offen ist und wenn doch dann das Widget erst löschen und dann neu erstellen. Und ganz schlimm ein Widget in einer Schleife 1 Millionen mal öffnen ^^


    2. Die Abfragen prüfen: Informationen sollten nur abgerufen werden wenn sie auch benötigt werden. Ach hier keine Schleife die jede millisekunde Datenabfrägt.


    Worstcase: 50 mal das selbe Widget geöffnet und jedes Widget frägt 1 Sekunde 20 Datensätze ab.


    Mehr fällt mit Augenblick nicht ein.

  • Alles klar danke schon mal für die Antwort.


    Ich zeige dir gleich zu Hause wie verfahren wird mit den widgets. Im Controller ist ein array mit dem geöffneten widgets und beim Öffnen des nächsten wird es removed. Aber es passiert ja schon wenn nur das Login Widget geöffnet ist. Da wird erdt eine Abfrage stattfinden wenn man auf Login oder create Account klickt.


    Ansonsten werden die meisten wisgets mit einem ForEachLoop geöffnet für jedes Element in der Datenbank. Zum Beispiel bei der Abfrage der Einträge im Handelsterminal.


    Denke das ist irgendwelche Einträge in der PrejectSettings.

  • So hier mal ein ausführlicheres Video. Leider nur in Mono Audio weiß nicht wieso. :D Wäre über jede Hilfe Dankbar.

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    • Offizieller Beitrag

    Mhhh du hast ja diesen Login Screen mit diesem Video im Hintergrund.

    Könntest du vielleicht ein Test Level erstellen wo du den Login komplett umgehst. WO also kein Video abgespielt wird und wo keine Datenbank abfrage statt findet.


    Dann weißt du ob dass Video oder der Login dieses Problem verursacht oder ob es ein generelles Problem ist.


    Dann würde ich testen: Nur Login ohne Video und dann Video ohne Login wo du nach ein paar Sekunden automatisch weiter geleitet wirst.

    Vielleicht hat auch jemand anderst direkt eine Idee aber ich würde mal versuchen das Problem einzugrenzen.

  • Ne ich habe etwas an den Einstellungen rum gespielt. Nun läuft es auf 20% max. Ich weiß ja nicht ob das der Unreal Engine verschuldet ist weil es ja eine GameEngine ist und ich ja eigentlich kein Spiel schreibe aber es nutze weil es Benutzerfreundlich ist und man so alleine was gutes auf die Beine stellen kann. Das Programm soll ja zusätzlich im Hintergrund laufen während man LS22 spielt.