Autor Téma: Zpomalování aplikace vytvořené ve starších Delphi na nových počítačích  (Přečteno 989 krát)

Offline age.new

  • Hrdina
  • ****
  • Příspěvků: 275
  • Karma: 0
Vážená komunito,

narazil jsem na jednu "podivnost" u starších aplikací, resp. vytvořených v Delphi 6 / 7. Logicky bych očekával, že tyto aplikace budou na stále výkonnějších počítačích rychlejší a rychlejší (výkonnější procesory, SSD disky a tak). Bohužel to není až tak pravda...

Sestavy:
1) Celeron 1.4, Windows 7 64bit a 4GB paměti
2) Intel Core I5, Windows 10 64bit a 8GB paměti

Práce se stringy (velké pole, hledání klíčových slov atd.):
Starší počítač to dá za cca 2 sekundy.
Nový počítač to dá za cca 5 sekund.

Práce s databází Paradox (načtení do Table, filtrování atd.):
Starší počítač to zvládá plynule bez nějakých viditelných prodlev
Nový počítač se občas zamyslí, plynulost práce pak trpí

Většinou se pracuje pouze s pamětí. Práce se soubory jsou minimalizované. Když jsou výše uvedené činnosti mezi přechody menu (v OnShow), tak je to rušící, protože se vše jakoby sekne při překreslování komponent. Díval jsem se do kódu a jistě by šlo vymyslet nějaké optimalizace, zaráží mě ale fakt, že znatelně rychlejší počítač je tolik pomalejší.

Nenapadá někoho možná příčina problému?

Děkuji.


« Poslední změna: 04-05-2021, 08:17:59 od age.new »

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 2867
  • Karma: 106
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Pouzivas FastMM?
Embarcadero MVP - Czech republic

Offline age.new

  • Hrdina
  • ****
  • Příspěvků: 275
  • Karma: 0

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 2867
  • Karma: 106
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Nejake podelane rizeni spotreby? Tj. ze se ta I5 neurazi prejit z zakladniho taktu? Mozna by bylo zajimave napsat co presne je to za procesory. Navic jsou to Windows 10 a 8GB v urcitych pripadech je malo. Klidne to muze byt chyba nejakeho driveru.
Embarcadero MVP - Czech republic

Offline age.new

  • Hrdina
  • ****
  • Příspěvků: 275
  • Karma: 0
Ten procesor by měl být o řád rychlejší. Napadlo mě, zda třeba ty Windows 10 v 64bit verzi nemají s 32bit problémy ... ale ty Windows 7 jsou taky 64bit. Asi jedině povypínat všechny služby ... nevím.

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 2867
  • Karma: 106
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Ten procesor by měl být o řád rychlejší. Napadlo mě, zda třeba ty Windows 10 v 64bit verzi nemají s 32bit problémy ... ale ty Windows 7 jsou taky 64bit. Asi jedině povypínat všechny služby ... nevím.
Windows 10 obecně s 32bit app nemají žádný problém.
Tak bud chces poradit a reknes mi zda ten procesor pri behu tve aplikace bezi na vysoke frekvenci a ne na zakladní (tj. špatně napsaná aplikace klasicky s Application.ProcessMessages atd).
A můžeš tedy říct co je to konkretne za procesory (i5 je hodně široký pojem)? A jak je využita pamět? Prostě 8GB na vývoj může být málo, hlavně pokud ti tam běží třeba jiné věci jako SQL atd. Samé otázky.

Jenom si uvedom, že D7 má 20 let a sice programy v něm napsané fungují dobře, ale je možné, že jsi narazil na něco třeba z UI, kde jsi po přechodu mohl narazit - viz. ty tvoje poznámky o menu. Takže bych viděl problémy třeba tam.
Každopádně se už obecně problémy D7 odmítám většinou zabývat.
Embarcadero MVP - Czech republic

Offline age.new

  • Hrdina
  • ****
  • Příspěvků: 275
  • Karma: 0
Mě to chvíli trvá, než zjistím vše potřebné :)

Procesor Intel Core 2700 Kaby Lake

Při testu jede procesor na 100% a ukazuje takt 2,71Ghz. Paměť je na 20% po celou dobu (cca 1.5GB alokováno).

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 2867
  • Karma: 106
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Mě to chvíli trvá, než zjistím vše potřebné :)

Procesor Intel Core 2700 Kaby Lake

Při testu jede procesor na 100% a ukazuje takt 2,71Ghz. Paměť je na 20% po celou dobu (cca 1.5GB alokováno).


Zadny i5 2700 Kaby Lake neexistuje, je i7 2700 Sandy Bridge s nominální frekvencí 3,5GHz (s turbem na 3.9 GHz - viz odkaz), a i to neni zrovna zadne delo. Nerekl jsi co mas za celeron, ale orientacni porovnani s prastarym Ryzenem https://www.cpubenchmark.net/compare/AMD-Ryzen-5-2600-vs-Intel-i7-2700K/3243vs881 - dulezity single thread vykon



Embarcadero MVP - Czech republic

Offline age.new

  • Hrdina
  • ****
  • Příspěvků: 275
  • Karma: 0
Tak pak kecá HWINFO.

Na druhém počítači nejde spustit HWINFO protože Windows 7 nemají stažený nějaký patch.

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 3172
  • Karma: 137
    • Verze Delphi: D2007, XE3, DX10
narazil jsem na jednu "podivnost" u starších aplikací, resp. vytvořených v Delphi 6 / 7. Logicky bych očekával, že tyto aplikace budou na stále výkonnějších počítačích rychlejší a rychlejší (výkonnější procesory, SSD disky a tak). Bohužel to není až tak pravda...
A mam tomu rozumet tak, ze srovnavas spusteni stejneho EXE prelozeneho v D6/7 na novejsich strojich nebo v tom mimo zmeny HW hraje roli i dalsi faktor jako napr. preklad unicodifikovanym Delphi?

Offline age.new

  • Hrdina
  • ****
  • Příspěvků: 275
  • Karma: 0
Momentálně zkouším EXE generovaný v Delphi 6.

Z toho HW jsem dosti zmatený. Windows 10 systém hlásí jen Intel Core 2700. Když ale porovnávám parametry, takto sedí na Core i3-7130u (sedí takt, jádra, vláka, integr. grafika atd.).

Druhý procesor je Intel Celeron 1047UE 1.4GHz.

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 2867
  • Karma: 106
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Tak pak kecá HWINFO.

Na druhém počítači nejde spustit HWINFO protože Windows 7 nemají stažený nějaký patch.


No on jeste existoval Core 2 DUO 2700, ale to asi ne :-)

Zkus https://www.mitec.cz/msi.html
Embarcadero MVP - Czech republic

Offline age.new

  • Hrdina
  • ****
  • Příspěvků: 275
  • Karma: 0
Tak pak kecá HWINFO.

Na druhém počítači nejde spustit HWINFO protože Windows 7 nemají stažený nějaký patch.


No on jeste existoval Core 2 DUO 2700, ale to asi ne :-)

Zkus https://www.mitec.cz/msi.html

Tak ten MITEC ukázal název cpu "x86".

Podle vše ho bude něco velmi podobného Core i3-7130u 2.7GHz. Druhý procesor je Intel Celeron 1047UE 1.4GHz.

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 2867
  • Karma: 106
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině

Tak ten MITEC ukázal název cpu "x86".

Podle vše ho bude něco velmi podobného Core i3-7130u 2.7GHz. Druhý procesor je Intel Celeron 1047UE 1.4GHz.

Jako v tom vypise jako je v priloze NEDETEKOVAL cpu? Muzes to sem vlozit?
Embarcadero MVP - Czech republic

Offline age.new

  • Hrdina
  • ****
  • Příspěvků: 275
  • Karma: 0
Níže jsou parametry:

CPU                               1 x x86 - 2720 MHz
Memory                         8192 MB DDR4
Video Adapter                Intel(R) HD Graphics 620 - 1024 MB
HDD SATA                      M.2 (S80) 3MV2-P - 476 GB