Autor Téma: Zpomalené VCL ve Windows 10  (Přečteno 2456 krát)

Offline Adam Lipovský

  • Nováček
  • *
  • Příspěvků: 4
  • Karma: 2
    • Verze Delphi: 10.2
Zpomalené VCL ve Windows 10
« kdy: 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.
« Poslední změna: 12-10-2020, 15:50:54 od Adam Lipovský »

Offline vandrovnik

  • Padawan
  • ******
  • Příspěvků: 1596
  • Karma: 52
    • Verze Delphi: 11.3
Re:Zpomalené VCL ve Windows 10
« Odpověď #1 kdy: 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).

Offline PetrB0

  • Plnoletý
  • ***
  • Příspěvků: 171
  • Karma: 1
    • Verze Delphi: Delphi XE2, Delphi 10.2 Tokyo, Delphi 10.41
Re:Zpomalené VCL ve Windows 10
« Odpověď #2 kdy: 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

Offline paja666

  • Mladík
  • **
  • Příspěvků: 70
  • Karma: 0
    • Verze Delphi: 11.3
Re:Zpomalené VCL ve Windows 10
« Odpověď #3 kdy: 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

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 7430
  • Karma: 44
    • Verze Delphi: W11 + D11.3.1
Re:Zpomalené VCL ve Windows 10
« Odpověď #4 kdy: 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
Win11 64b, Delphi 12.2, FireBird 4.01
Expert na kladenie nejasne formulovaných otázok.

Offline raul

  • Hrdina
  • ****
  • Příspěvků: 468
  • Karma: 15
    • Verze Delphi: FPC :D
Re:Zpomalené VCL ve Windows 10
« Odpověď #5 kdy: 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
Lazarus 1.6.3:), FPC, Intel/Arm, Windows/Linux, (občas Delphi)

Offline vandrovnik

  • Padawan
  • ******
  • Příspěvků: 1596
  • Karma: 52
    • Verze Delphi: 11.3
Re:Zpomalené VCL ve Windows 10
« Odpověď #6 kdy: 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?

Offline raul

  • Hrdina
  • ****
  • Příspěvků: 468
  • Karma: 15
    • Verze Delphi: FPC :D
Re:Zpomalené VCL ve Windows 10
« Odpověď #7 kdy: 12-10-2020, 19:01:27 »
Typ spusteni, napajeci profil a na nalade windows :)
Lazarus 1.6.3:), FPC, Intel/Arm, Windows/Linux, (občas Delphi)

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 3559
  • Karma: 112
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Re:Zpomalené VCL ve Windows 10
« Odpověď #8 kdy: 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
Embarcadero MVP - Czech republic

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 7430
  • Karma: 44
    • Verze Delphi: W11 + D11.3.1
Re:Zpomalené VCL ve Windows 10
« Odpověď #9 kdy: 12-10-2020, 19:13:24 »
Je úplne jedno, či to je v režime debug, alebo nie. A grafickú kartu nemám.
Win11 64b, Delphi 12.2, FireBird 4.01
Expert na kladenie nejasne formulovaných otázok.

Offline KarelHorky

  • Hrdina
  • ****
  • Příspěvků: 299
  • Karma: 10
    • Verze Delphi: XE6, Delphi 10.2 Tokyo
Re:Zpomalené VCL ve Windows 10
« Odpověď #10 kdy: 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ží.
Win10 Prof 64b, Firebird 2.5

Offline Adam Lipovský

  • Nováček
  • *
  • Příspěvků: 4
  • Karma: 2
    • Verze Delphi: 10.2
Re:Zpomalené VCL ve Windows 10
« Odpověď #11 kdy: 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...

Offline vandrovnik

  • Padawan
  • ******
  • Příspěvků: 1596
  • Karma: 52
    • Verze Delphi: 11.3
Re:Zpomalené VCL ve Windows 10
« Odpověď #12 kdy: 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 %.

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 3559
  • Karma: 112
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Re:Zpomalené VCL ve Windows 10
« Odpověď #13 kdy: 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.
Embarcadero MVP - Czech republic

Offline JM

  • Nováček
  • *
  • Příspěvků: 8
  • Karma: 4
Re:Zpomalené VCL ve Windows 10
« Odpověď #14 kdy: 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 :-)

Offline vandrovnik

  • Padawan
  • ******
  • Příspěvků: 1596
  • Karma: 52
    • Verze Delphi: 11.3
Re:Zpomalené VCL ve Windows 10
« Odpověď #15 kdy: 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?

Offline JM

  • Nováček
  • *
  • Příspěvků: 8
  • Karma: 4
Re:Zpomalené VCL ve Windows 10
« Odpověď #16 kdy: 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.

Offline vandrovnik

  • Padawan
  • ******
  • Příspěvků: 1596
  • Karma: 52
    • Verze Delphi: 11.3
Re:Zpomalené VCL ve Windows 10
« Odpověď #17 kdy: 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

Offline Adam Lipovský

  • Nováček
  • *
  • Příspěvků: 4
  • Karma: 2
    • Verze Delphi: 10.2
Re:Zpomalené VCL ve Windows 10
« Odpověď #18 kdy: 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.