AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Panel mit vielen Buttons baut sich langsam auf
Thema durchsuchen
Ansicht
Themen-Optionen

Panel mit vielen Buttons baut sich langsam auf

Ein Thema von NielsB · begonnen am 4. Mär 2016 · letzter Beitrag vom 31. Jan 2019
Antwort Antwort
Seite 1 von 5  1 23     Letzte »    
NielsB

Registriert seit: 4. Mär 2016
17 Beiträge
 
#1

Panel mit vielen Buttons baut sich langsam auf

  Alt 4. Mär 2016, 09:40
Hallo zusammen,
folgende Situation: Ich arbeite an einer VCL-Anwendung mit XE7, die auf Systemen mit Intel Atom N2600 CPU laufen muss. Die Anwendung soll mittels VCL Styles optisch etwas aufgehübscht werden, allerdings treten dabei sichtbare Performanceprobleme auf.
Am meisten fällt es auf, wenn auf einem Formular ein Panel mit etwa 60 Buttons eingeblendet werden soll:
Code:
Panel1.Left:=0;
Panel1.Top:=0;
Panel1.Visible:=True;
Das Panel inklusive Buttons erscheint nicht auf einmal, sondern wird stückweise aufgebaut. Ich habe bereits versucht, DoubleBuffered bei allen Komponenten zu aktivieren, das Panel mit Invalidate/Update/Repaint auf einmal zu zeichnen, ParentBackground und FullRepaint zu deaktivieren, DisableAlignment vor dem Anzeigen auszuführen, sowie einige andere Tipps - alles ohne irgendeine Veränderung.
Auf meinem Entwicklungsrechner ist das Problem nur schwierig zu erkennen, da dieser anscheinend zu schnell ist. Allerdings besteht das Problem auch ohne Verwendung von VCL Styles, es ist aber nur per Zeitlupe zu erkennen. Ich habe keine weiteren Ideen, wie man das Problem lösen könnte und wäre über jede Hilfe dankbar.

Schöne Grüße
NielsB
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.763 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Panel mit vielen Buttons baut sich langsam auf

  Alt 4. Mär 2016, 12:15
Verstehe ich das korrekt, daß auch ohne Styles auf dem Zielsystem der Aufbau zu langsam ist? Ansonsten liegt das eben in der Natur der Sache: Betriebssystemkomponenten werden beim "stylen" nachträglich übertüncht. Ich würde darauf verzichten. Früher galt mal die Maxime, daß der Anwender seinem System mit Absicht das aktuelle Aussehen gegeben hat, da muß eine Anwendung nicht wie ein Fremdkörper hervorstechen. Zumal dadurch nicht immer die Bedienbarkeit erhöht wird.

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Panel mit vielen Buttons baut sich langsam auf

  Alt 4. Mär 2016, 12:52
Die Atoms haben eine sehr inperformante GPU. Wenn Du dann auch noch ein sehr alte Treiberversion hast ist eher zufall das man überhaupt was auf den Bildschirm sieht (um es überspitzt auszudrücken).
Versuch mal auf jeden Fall einen aktuellen Treiber zu bekommen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
NielsB

Registriert seit: 4. Mär 2016
17 Beiträge
 
#4

AW: Panel mit vielen Buttons baut sich langsam auf

  Alt 4. Mär 2016, 13:21
Das ist richtig. Vielleicht verstehe ich hier etwas generell falsch, aber Übergänge zwischen Formularen passieren auch nicht "in einem Frame", sondern sind immer partielle Änderungen am Bild. Je weniger Objekte auf dem Bildschirm sind, desto weniger merklich ist der Übergang. Ich würde allerdings gerne einen sauberen Übergang haben, sodass alle Veränderungen erst zwischengespeichert werden und das Resultat dann fertig angezeigt wird.
Die Styles machen das Problem nur deutlicher sichtbar, aber es besteht auch, wenn ich ein neues Projekt aus nur einem Frame, einem Panel und einigen Buttons besteht, ohne Einbindung von Styles.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Panel mit vielen Buttons baut sich langsam auf

  Alt 4. Mär 2016, 13:24
Hast du schon mal die Treiber kontrolliert?
Mit fehlerhaften Treibern habe ich schon die tollsten Dinge erlegt (z.B. wurde außerhalb des Formulars gezeichnet an eine Stelle die überhaupt nicht mehr zum Programm gehört)
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.735 Beiträge
 
Delphi 2007 Professional
 
#6

AW: Panel mit vielen Buttons baut sich langsam auf

  Alt 4. Mär 2016, 13:26
Vielleicht hilft auch MSDN-Library durchsuchenDeferWindowPos.
Edit: Oder WM_SETREDRAW+RedrawWindow.
Uli Gerhardt

Geändert von uligerhardt ( 4. Mär 2016 um 13:29 Uhr)
  Mit Zitat antworten Zitat
NielsB

Registriert seit: 4. Mär 2016
17 Beiträge
 
#7

AW: Panel mit vielen Buttons baut sich langsam auf

  Alt 4. Mär 2016, 13:41
Hast du schon mal die Treiber kontrolliert?
Mit fehlerhaften Treibern habe ich schon die tollsten Dinge erlegt (z.B. wurde außerhalb des Formulars gezeichnet an eine Stelle die überhaupt nicht mehr zum Programm gehört)
Ich werde morgen nachschauen, habe ich gerade keine Möglichkeit zu. Auf meinem Entwicklungspc erscheinen die Buttons in eine Art 'Welle' von rechts nach links, wenn auch sehr schnell.
  Mit Zitat antworten Zitat
zagota

Registriert seit: 3. Sep 2014
38 Beiträge
 
#8

AW: Panel mit vielen Buttons baut sich langsam auf

  Alt 4. Mär 2016, 13:45
Code:
Panel1.Left:=0;
Panel1.Top:=0;
Panel1.Visible:=True;
Schon versucht?
Code:
Panel1.Left:= Screen.Width + 1; // Sollte natürlich das Formular sein auf dem das Panel liegt.
Panel1.Top:=0;
Panel1.Visible:=True;
Panel1.Left:= 0;
oder
Code:
SendMessage(Panel1.Handle, WM_SETREDRAW, 0, 0);
try
  Panel1.Left:= 0;
  Panel1.Top:=0;
  Panel1.Visible:=True;
finally
  SendMessage(Panel1.Handle, WM_SETREDRAW, 1, 0);
  RedrawWindow(Panel1.Handle, nil, 0, RDW_ERASE or RDW_FRAME or RDW_INVALIDATE or RDW_ALLCHILDREN);
end;
oder ein Kombination aus beiden.

cu

Geändert von zagota ( 4. Mär 2016 um 13:56 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.297 Beiträge
 
Delphi 12 Athens
 
#9

AW: Panel mit vielen Buttons baut sich langsam auf

  Alt 4. Mär 2016, 14:43
Hallo...

Kannst du mal das Formular zeigen? Mich würde mal interessieren warum ein Formular 60 Buttons benötigt.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#10

AW: Panel mit vielen Buttons baut sich langsam auf

  Alt 4. Mär 2016, 15:10
60 Buttons (die aufgehübscht werden sollen) auf einem "schwachem" Rechner - es riecht nach POS oder ählichem
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 5  1 23     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz