Forum Delphi.cz

Delphi => Obecné => Téma založeno: Adam Lipovský 12-10-2020, 15:29:52

Název: Zpomalené VCL ve Windows 10
Přispěvatel: Adam Lipovský 12-10-2020, 15:29:52
Ahoj,

řešili jste prosím někdo zpomalení VCL ve Windows 10?

Pokud se otevírá okno s mnoha prvky (...), pak na Windows 10 dochází k asi 2 až 2.5 násobném zpomalení oproti Windows 7. Neřeším manuální vykreslování / extra komponenty, pouze základní VCL.

Co jsem zkoušel a nemělo to efekt:
* Delphi / doublebuffering
* Windows / kompatibilita
* Windows / optimalizace aplikace na výkon, vyhlazování písem, nastavení lupy (byť ta je vypnutá)

Co mělo efekt bylo vypnutí CFG (Content flow guard) - to urychlilo GUI na Win10 asi o 17%. Ovšem tento krok je zase nereálný (vypnutí bezpečnostní vlastnosti u zákazníka...).

Delphi: 10.2 update 3
Windows: 10.0.18363.1016

Měření:
Windows 7 Pro - 3152 ms
Windows 10 Pro - 5891 ms
(v Delphi jde o základní Win32 release konfiguraci, aplikace musí zůstat Win32)

Příklad na kterém lze chování nasimulovat přikládám.
Název: Re:Zpomalené VCL ve Windows 10
Přispěvatel: vandrovnik 12-10-2020, 16:05:58
Na mém 10 let starém i7 920 s Windows 10 Pro to proběhne za 5656 ms (Delphi 10.3.3).
Název: Re:Zpomalené VCL ve Windows 10
Přispěvatel: PetrB0 12-10-2020, 16:44:09
Ahoj, nevím jestli to pro Tebe bude relevantní.
Na i9-10850K s Win 10 Pro
Delphi XE2  - 4359
Delphi 10.4.1 - 4125

Pb
Název: Re:Zpomalené VCL ve Windows 10
Přispěvatel: paja666 12-10-2020, 17:29:47
i7-6820 2.7GHz, Win10 (plně aktualizované)

10.1 Upd2 Berlin: Čas = 14234
10.4.1 Sydney: Čas = 14406
Název: Re:Zpomalené VCL ve Windows 10
Přispěvatel: Stanislav Hruška 12-10-2020, 18:31:48
i5-7400 3,00GHz W10 64 bit
D 10.4.1 - okolo 5800
Keď sam nastavil BorderStyle = bsNone, tak sa to zrýchlilo o viac ako sekundu ~4300
Název: Re:Zpomalené VCL ve Windows 10
Přispěvatel: raul 12-10-2020, 18:40:48
Ryzen 3800X/64Gb/Win10Pro 10.3CE (Napajeci profil : AMD Ryzen Balanced)
BC Release - Run without debugging Čas = 8359
BC Release - Run (F9) Čas = 15360
BorderStyle = bsNone - Čas = 8062
Název: Re:Zpomalené VCL ve Windows 10
Přispěvatel: vandrovnik 12-10-2020, 18:55:31
Když vidím ty výsledky, fakt by mě zajímalo, na čem to záleží nejvíc. Grafická karta?
Název: Re:Zpomalené VCL ve Windows 10
Přispěvatel: raul 12-10-2020, 19:01:27
Typ spusteni, napajeci profil a na nalade windows :)
Název: Re:Zpomalené VCL ve Windows 10
Přispěvatel: Radek Červinka 12-10-2020, 19:03:03
Ahoj,

řešili jste prosím někdo zpomalení VCL ve Windows 10?

Pokud se otevírá okno s mnoha prvky (...), pak na Windows 10 dochází k asi 2 až 2.5 násobném zpomalení oproti Windows 7. Neřeším manuální vykreslování / extra komponenty, pouze základní VCL.

Co jsem zkoušel a nemělo to efekt:
* Delphi / doublebuffering
* Windows / kompatibilita
* Windows / optimalizace aplikace na výkon, vyhlazování písem, nastavení lupy (byť ta je vypnutá)

Co mělo efekt bylo vypnutí CFG (Content flow guard) - to urychlilo GUI na Win10 asi o 17%. Ovšem tento krok je zase nereálný (vypnutí bezpečnostní vlastnosti u zákazníka...).

Delphi: 10.2 update 3
Windows: 10.0.18363.1016

Měření:
Windows 7 Pro - 3152 ms
Windows 10 Pro - 5891 ms
(v Delphi jde o základní Win32 release konfiguraci, aplikace musí zůstat Win32)

Příklad na kterém lze chování nasimulovat přikládám.

Zkousel jsi upravovat v manifestu DPI Awareness (resp. v Project Options). Win10 jsou flexibilnejsi ohledne DPI a to neco asi stoji proti W7.

Myslim si, ze zalezi i na grafice, jak umi akceleraci.

Jinak Ryzen 5 4500U s integrovanou Vegou - 6200
Název: Re:Zpomalené VCL ve Windows 10
Přispěvatel: Stanislav Hruška 12-10-2020, 19:13:24
Je úplne jedno, či to je v režime debug, alebo nie. A grafickú kartu nemám.
Název: Re:Zpomalené VCL ve Windows 10
Přispěvatel: KarelHorky 13-10-2020, 09:46:27
W10 Pro 2004 64bit, Intel i5 3470 3.20 GHz
D XE6 6234 ms
D 10.2 TOKYO 6531 ms

W XP SP3 32bit, Intel Core2 6300 1.86 GHz
D XE6 3094 ms
D 10.2 TOKYO 3359 ms

Čím novější Win, tím pomalejší :-( W XP už mám, jen když potřebuju testovat přístup do DB ze dvou PC a tak. Můj prapůvodní PC, stejně ho nikdo nekoupí, tak občas ještě poslouží.
Název: Re:Zpomalené VCL ve Windows 10
Přispěvatel: Adam Lipovský 13-10-2020, 10:56:32
DPI awareness jsem ještě nezkoušel - mrknu na to, děkuju.

Jinak co jsem koukal, tak by měl pomoci i build na 64b, ale to opět nemůžu použít :/

Děkuji všem za měření. Ty rozdíly mi příjdou až absurdní:
Win 10 s i7 a 14s oproti Win XP s Core co to dá za 3s, skoro 5x rychleji...
Název: Re:Zpomalené VCL ve Windows 10
Přispěvatel: vandrovnik 13-10-2020, 11:17:50
Jinak co jsem koukal, tak by měl pomoci i build na 64b, ale to opět nemůžu použít :/

Já to zkoušel a rozdíl byl u mě tak 5 %.
Název: Re:Zpomalené VCL ve Windows 10
Přispěvatel: Radek Červinka 13-10-2020, 12:35:26
Jinak co jsem koukal, tak by měl pomoci i build na 64b, ale to opět nemůžu použít :/

Jak jsi na to přišel? Tipl bych, že 64b bude spíše pomalejší. Ještě bych se podíval na DPI, tj. zda nemáš třeba zvětšené DPI proti Windows 7.
Název: Re:Zpomalené VCL ve Windows 10
Přispěvatel: JM 13-10-2020, 16:36:33
Win XP 32-bit, core2 duo 2.50 Ghz, paměť 2G, Delphi7, čas = 1406
Někde mám ještě starou 486 s Win 3 a Delphi 1, tak jestli ještě funguje, zkusím to tam nějak přendat a uvidíme :-)
Název: Re:Zpomalené VCL ve Windows 10
Přispěvatel: vandrovnik 13-10-2020, 16:38:27
Win XP 32-bit, core2 duo 2.50 Ghz, paměť 2G, Delphi7, čas = 1406
Někde mám ještě starou 486 s Win 3 a Delphi 1, tak jestli ještě funguje, zkusím to tam nějak přendat a uvidíme :-)

Mohl bys prosím ten .exe z Delphi 7 zkusit na novějších Windows a napsat čas?
Název: Re:Zpomalené VCL ve Windows 10
Přispěvatel: JM 13-10-2020, 17:16:25
Mohl bys prosím ten .exe z Delphi 7 zkusit na novějších Windows a napsat čas?

Tady nemám jiný stolní počítač a na laptopu by to bylo zkreslené.
V příloze je exe.
Název: Re:Zpomalené VCL ve Windows 10
Přispěvatel: vandrovnik 13-10-2020, 17:19:16
Tady nemám jiný stolní počítač a na laptopu by to bylo zkreslené.
V příloze je exe.

Chtěl jsem to zkusit, ale 5 antivirů tam vidí nějaký problém:
https://www.virustotal.com/gui/file/1a43d2eadb393756f4cdc2e4bce23cd6a648d93f76b0aca38ff92e85b27d34fb/detection (https://www.virustotal.com/gui/file/1a43d2eadb393756f4cdc2e4bce23cd6a648d93f76b0aca38ff92e85b27d34fb/detection)
Název: Re:Zpomalené VCL ve Windows 10
Přispěvatel: Adam Lipovský 15-10-2020, 15:08:38
Jinak co jsem koukal, tak by měl pomoci i build na 64b, ale to opět nemůžu použít :/

Jak jsi na to přišel? Tipl bych, že 64b bude spíše pomalejší. Ještě bych se podíval na DPI, tj. zda nemáš třeba zvětšené DPI proti Windows 7.

Četl jsem výsledky podobného měření GUI v nějakém článku (bylo jich hodně, takže už nemám konkrétní link).
Na zpomalení GDI/GDI+ v průběhu vývoje Windows si lidi stěžují docela často, nejvíc asi pak na dopad W10 Creators update.

Jak jsem psal, 64b build je pro mě neprůchozí, proto jsem tuhle cestu ani dál víc nezkoumal.