vložil Radek Červinka
17. března 2020 23:18
Je několik možností jak zrychlit build aplikace (budeme ignorovat nový HW).
Většinou stačí mít dobře stukturovaný projekt bez kruhových referencí, tj. že kompilátor nic nemusí řešit a jde od základních unit směrem k složitějším. Samozřejmě IDEFixPack hlavně pro starší verze také pomůže, ale následující už tak známé není.
Pokud máte hodně jader je možné, že se už začne projevovat přehazování scheduleru Windows, což zejména u starších verzí (třeba XE) může způsobit už trošku zpomalení.
Zkuste ve správci úloh omezit počet procesorů (osvědčilo se mi na 2 kousky) - nebojte se, platí to jen pro aktuálně spuštěný program, Windows si to nezapamatují.
Tímto způsobem jsem zrychlil kompilaci 1.2MLOC z cca 28s na 19s, což není špatné.
Pokud to zafunguje a má to přínos, máte několik možností (kromě na to zapomenout):
- Process Lasso
- teoreticky se dá patchnout bds.exe, v exe je info o tom na kolika procesorech to má běžet, je na to malinký program, který byl kdysi součástí Windows 2000 Server Resource Kit a použivají to převážně hráči na patch starších her, které na více jádrových systémech neběží - https://robpol86.com/imagecfg.html , nezkoušel jsem
V důsledku nefunguje jen rychleji kompilace, ale i třeba napovídání atd. což do brzké (doufám že v další verzi) doby než bude napovídání kódu řešeno přes language server taky potěší.
8db0f460-e429-407e-a156-13bd3c73492a|4|5.0
Tagy: delphi
trik
vložil Radek Červinka
1. března 2020 22:34
Na fóru Karel Horký sdílel pěkný tip řešící občasný problém s mizením modálního okna za hlavní formulář (např. při různých přepínání - nemyslím TForm.PopupMode)
často ve Windows 10.
procedure DisableProcessWindowsGhosting;
var
DisableProcessWindowsGhostingProc: procedure;
begin
DisableProcessWindowsGhostingProc := GetProcAddress(
GetModuleHandle('user32.dll'),
'DisableProcessWindowsGhosting');
if Assigned(DisableProcessWindowsGhostingProc) then begin
DisableProcessWindowsGhostingProc;
end;
end;
Karel Horký k tomu píše: Volá se to z Create hlavního okna aplikace.
Celé vlákno: forum.delphi.cz/index.php/topic,16907.msg107189.html#msg107189
b6a6a839-0272-407d-9be9-3ece0c3ce087|5|5.0
Tagy: VCL
trik