AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi 7 Anwendung unter Windows 10 langsam

Ein Thema von BerTa · begonnen am 2. Apr 2019 · letzter Beitrag vom 9. Apr 2019
Antwort Antwort
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.284 Beiträge
 
Delphi 12 Athens
 
#1

AW: Delphi 7 Anwendung unter Windows 10 langsam

  Alt 9. Apr 2019, 08:57
Ich glaube, ich kann das inzwischen auf die Prozedur GetDC zurückführen. Nehmen wir mal die Komponente SynEdit als Beispiel. Ohne Highlighter pinselt die ihren Text pfeilschnell auf den Schirm, weil sie nur einmal einen Devicecontext holt. Sobald ich einen Highlighter hinzufüge, wird je Attribute-Abschnitt im Text (Farbwechsel) mindestens einmal GetDC aufgerufen. Je nachdem, wie der jeweilige Highlighter konstruiert ist, auch noch öfter. Das hat wohl damit zu tun, wie das Prinzip TCanvas in der VCL realisiert ist. Deshalb wirkt sich das Problem bei manchen Komponenten stärker aus als bei anderen.

Bei Virtual Treeview ist es ganz kurios. Verwendet man den als Baum, ist er pfeilschnell. Als Grid jedoch geht er total in die Knie, weil beim Zeichnen der einzelnen Zellen auch jeweils ein DC geholt wird. Einer meiner Entwicklungsrechner ist da extrem betroffen. Wenn ich da einen VST habe mit 15 Spalten, wie z.B. in HeidiSQL, und ich maximiere das Fenster sodass es komplett neu gezeichnet werden muss, dann kann man dem Bildaufbau der Zellen regelrecht zuschauen. Wie wenn eine Tapete von links oben diagonal ober den Bildschirm nach rechts unten gerollt würde.

Richtig finster wird es dem Anschein nach bei DevExpress, weil die exzessiv mit den DCs umgehen und dabei sogar die IDE zur Designtime zusammenknüppeln.

Fakt ist, es betrifft nicht alle Maschinen sondern scheint ab einem bestimmten Patchstand aufzutreten. Außerdem sind Intel-iGPUs deutlich schlechter dran als dedizierte NVidia- und AMD-Grakas oder auch Ryzen-Vega-iGPUs. Da es sich bei GetDC aber um eine Win32-Funktion handelt, kann man wohl nur sagen: Microsoft hats mal wieder versemmelt.
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden

Geändert von Codehunter ( 9. Apr 2019 um 09:00 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


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 19:24 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz