diff options
author | Erich Eckner <git@eckner.net> | 2015-12-10 15:25:31 +0100 |
---|---|---|
committer | Erich Eckner <git@eckner.net> | 2015-12-10 15:25:31 +0100 |
commit | 7fbfc327d52b6a2245203d1aef27f82cc2cce4d9 (patch) | |
tree | 0d2c417f429396c15a81f08d5eb86179898d2562 | |
parent | fdccd68cdd20d1672723ff73e251a9cae0cd0532 (diff) | |
download | epost-7fbfc327d52b6a2245203d1aef27f82cc2cce4d9.tar.xz |
Option zum Nicht-Speicherauslastung-Anzeigen beim Laden von Dateien
(beschleunigt das Laden)
-rw-r--r-- | epost.lpr | 3 | ||||
-rw-r--r-- | epost.lps | 147 | ||||
-rw-r--r-- | epostunit.pas | 10 | ||||
-rw-r--r-- | werteunit.pas | 16 |
4 files changed, 49 insertions, 127 deletions
@@ -138,12 +138,13 @@ begin continue; end; if startetMit('Daten einlesen ',s) then begin + b:=not startetMit('(ohne Ausgaben)',s); i:=findeWerte(s,inf,@wertes,@Konturen,true); if i<0 then begin aufraeumen; halt(1); end; - if wertes[i].ladeDateien(syntaxtest,inf,parallelLesen) then begin + if wertes[i].ladeDateien(syntaxtest,inf,parallelLesen,b) then begin continue; end; aufraeumen; @@ -7,8 +7,8 @@ <Unit0> <Filename Value="epost.lpr"/> <IsPartOfProject Value="True"/> - <TopLine Value="7"/> - <CursorPos Y="7"/> + <TopLine Value="121"/> + <CursorPos X="15" Y="141"/> <UsageCount Value="202"/> <Loaded Value="True"/> </Unit0> @@ -22,11 +22,10 @@ <Unit2> <Filename Value="epostunit.pas"/> <IsPartOfProject Value="True"/> - <IsVisibleTab Value="True"/> <EditorIndex Value="1"/> - <TopLine Value="2874"/> - <CursorPos X="22" Y="3639"/> - <FoldState Value=" T3pA0D5 piejM078]9XjF0G7[94]IH411 poUwA0;9[B4jeob0{Y[A41lY0{0]Akdmc032]J3jC0E]9lfmI0{g0[o5EmC0{[A5KlK0_Z01[q48sg0{K5]M5lW0j4 T0knZ]f)"/> + <TopLine Value="1470"/> + <CursorPos X="33" Y="1515"/> + <FoldState Value=" T3pA0D5 piejM078]9XjF0G7[94]IH411 poUwA0;8 T0knZ0{1}"/> <UsageCount Value="201"/> <Loaded Value="True"/> </Unit2> @@ -41,15 +40,15 @@ <Filename Value="werteunit.pas"/> <IsPartOfProject Value="True"/> <EditorIndex Value="2"/> - <TopLine Value="533"/> - <CursorPos Y="572"/> + <TopLine Value="1078"/> + <CursorPos X="3" Y="1112"/> <UsageCount Value="200"/> <Loaded Value="True"/> </Unit4> <Unit5> <Filename Value="typenunit.pas"/> <IsPartOfProject Value="True"/> - <EditorIndex Value="3"/> + <EditorIndex Value="4"/> <TopLine Value="942"/> <CursorPos X="97" Y="960"/> <UsageCount Value="200"/> @@ -70,8 +69,8 @@ <Unit8> <Filename Value="../units/lowlevelunit.pas"/> <EditorIndex Value="-1"/> - <TopLine Value="590"/> - <CursorPos X="9" Y="603"/> + <TopLine Value="81"/> + <CursorPos X="27" Y="105"/> <UsageCount Value="19"/> </Unit8> <Unit9> @@ -86,10 +85,12 @@ </Unit10> <Unit11> <Filename Value="../units/systemunit.pas"/> - <EditorIndex Value="-1"/> - <TopLine Value="71"/> - <CursorPos X="20" Y="125"/> + <IsVisibleTab Value="True"/> + <EditorIndex Value="3"/> + <TopLine Value="73"/> + <CursorPos X="77" Y="92"/> <UsageCount Value="16"/> + <Loaded Value="True"/> </Unit11> <Unit12> <Filename Value="../fpGUI/src/corelib/render/software/agg_2D.pas"/> @@ -99,124 +100,38 @@ <UsageCount Value="10"/> </Unit12> </Units> - <JumpHistory Count="30" HistoryIndex="29"> + <JumpHistory Count="8" HistoryIndex="7"> <Position1> - <Filename Value="typenunit.pas"/> - <Caret Line="892" Column="24" TopLine="859"/> + <Filename Value="../units/systemunit.pas"/> + <Caret Line="125" Column="20" TopLine="85"/> </Position1> <Position2> - <Filename Value="typenunit.pas"/> - <Caret Line="971" Column="31" TopLine="962"/> + <Filename Value="werteunit.pas"/> + <Caret Line="1105" Column="170" TopLine="1076"/> </Position2> <Position3> - <Filename Value="typenunit.pas"/> - <Caret Line="156" Column="3" TopLine="136"/> + <Filename Value="werteunit.pas"/> + <Caret Line="1105" Column="160" TopLine="1085"/> </Position3> <Position4> - <Filename Value="typenunit.pas"/> - <Caret Line="167" Column="21" TopLine="136"/> + <Filename Value="werteunit.pas"/> + <Caret Line="81" Column="17" TopLine="57"/> </Position4> <Position5> - <Filename Value="typenunit.pas"/> - <Caret Line="892" Column="24" TopLine="859"/> + <Filename Value="epostunit.pas"/> + <Caret Line="2072" TopLine="2013"/> </Position5> <Position6> - <Filename Value="typenunit.pas"/> - <Caret Line="14" Column="123"/> + <Filename Value="epostunit.pas"/> </Position6> <Position7> - <Filename Value="typenunit.pas"/> - <Caret Line="978" Column="20" TopLine="965"/> + <Filename Value="epostunit.pas"/> + <Caret Line="1515" Column="27" TopLine="1458"/> </Position7> <Position8> - <Filename Value="typenunit.pas"/> + <Filename Value="epost.lpr"/> + <Caret Line="7" TopLine="106"/> </Position8> - <Position9> - <Filename Value="typenunit.pas"/> - </Position9> - <Position10> - <Filename Value="epostunit.pas"/> - <Caret Line="295" TopLine="293"/> - </Position10> - <Position11> - <Filename Value="epostunit.pas"/> - </Position11> - <Position12> - <Filename Value="epostunit.pas"/> - <Caret Line="427" Column="14" TopLine="333"/> - </Position12> - <Position13> - <Filename Value="epostunit.pas"/> - <Caret Line="1056" Column="16" TopLine="1024"/> - </Position13> - <Position14> - <Filename Value="epostunit.pas"/> - <Caret Line="1070" Column="18" TopLine="1038"/> - </Position14> - <Position15> - <Filename Value="epostunit.pas"/> - <Caret Line="1376" Column="14" TopLine="1344"/> - </Position15> - <Position16> - <Filename Value="epostunit.pas"/> - <Caret Line="1771" Column="12" TopLine="1739"/> - </Position16> - <Position17> - <Filename Value="epostunit.pas"/> - <Caret Line="1860" Column="12" TopLine="1828"/> - </Position17> - <Position18> - <Filename Value="epostunit.pas"/> - <Caret Line="1943" Column="12" TopLine="1911"/> - </Position18> - <Position19> - <Filename Value="epostunit.pas"/> - <Caret Line="2108" Column="12" TopLine="2076"/> - </Position19> - <Position20> - <Filename Value="epostunit.pas"/> - <Caret Line="2150" Column="11" TopLine="2117"/> - </Position20> - <Position21> - <Filename Value="epostunit.pas"/> - <Caret Line="2288" Column="12" TopLine="2256"/> - </Position21> - <Position22> - <Filename Value="epostunit.pas"/> - <Caret Line="2572" Column="32" TopLine="2540"/> - </Position22> - <Position23> - <Filename Value="epostunit.pas"/> - <Caret Line="2671" Column="33" TopLine="2639"/> - </Position23> - <Position24> - <Filename Value="epostunit.pas"/> - <Caret Line="3211" Column="11" TopLine="3179"/> - </Position24> - <Position25> - <Filename Value="epostunit.pas"/> - <Caret Line="3559" Column="12" TopLine="3526"/> - </Position25> - <Position26> - <Filename Value="epostunit.pas"/> - <Caret Line="3583" Column="12" TopLine="3550"/> - </Position26> - <Position27> - <Filename Value="epostunit.pas"/> - <Caret Line="4865" Column="31" TopLine="4833"/> - </Position27> - <Position28> - <Filename Value="epostunit.pas"/> - <Caret Line="4936" Column="13" TopLine="4904"/> - </Position28> - <Position29> - <Filename Value="epostunit.pas"/> - <Caret Line="5815" Column="11" TopLine="5782"/> - </Position29> - <Position30> - <Filename Value="epostunit.pas"/> - <Caret Line="5816" Column="40" TopLine="5799"/> - </Position30> </JumpHistory> </ProjectSession> </CONFIG> diff --git a/epostunit.pas b/epostunit.pas index 9c67454..863954a 100644 --- a/epostunit.pas +++ b/epostunit.pas @@ -121,7 +121,7 @@ type procedure warteAufBeendigungDesLeseThreads; procedure kopiereVon(st: boolean; original: tWerte); overload; procedure kopiereVon(st: boolean; original: tWerte; xmin,xmax: longint); overload; - function ladeDateien(st: boolean; var f: tMyStringlist; pl: boolean): boolean; + function ladeDateien(st: boolean; var f: tMyStringlist; pl,sa: boolean): boolean; function ladeAscii(st: boolean; datei: string): boolean; function berechneLiKo(st: boolean; var f: tMyStringlist; threads: longint): boolean; function berechneQuotient(st: boolean; var f: tMyStringlist; threads, dividend, divisor: longint): boolean; @@ -1480,7 +1480,7 @@ begin end{of case}; end; -function tWerte.ladeDateien(st: boolean; var f: tMyStringlist; pl: boolean): boolean; +function tWerte.ladeDateien(st: boolean; var f: tMyStringlist; pl,sa: boolean): boolean; var inputs: tGenerischeInputDateiInfoArray; procedure aufraeumen; @@ -1508,11 +1508,11 @@ begin if not st then begin case Genauigkeit of gSingle: - sWerte.holeRam(3); + sWerte.holeRam(3*byte(sa)); gDouble: - dWerte.holeRam(3); + dWerte.holeRam(3*byte(sa)); gExtended: - eWerte.holeRam(3); + eWerte.holeRam(3*byte(sa)); end{of case}; if pl then begin leseThread:=tLeseThread.create(self,inputs); diff --git a/werteunit.pas b/werteunit.pas index 0ff189a..4b903b5 100644 --- a/werteunit.pas +++ b/werteunit.pas @@ -50,9 +50,9 @@ type procedure schreibeWert(var f: textfile; x,y,wert: extended); overload; procedure schreibeWertIntegriert(var f: textfile; i: longint; hor: boolean); procedure erzeugeBinning(senkrecht,linien: boolean; x0,dx: extended; s: string); - procedure holeRam; overload; - procedure holeRam(ausgaben: byte); overload; - procedure holeRam(ausgaben: byte; gemaeszTXMinMax: boolean); overload; + procedure holeRam; inline; overload; + procedure holeRam(ausgaben: byte); inline; overload; + procedure holeRam(ausgaben: byte; gemaeszTXMinMax: boolean); inline; overload; procedure gibMinMaxDichten(out wMi,wMa: extended; xmin,xmax,tmin,tmax: longint); function zuPixelWerten(whoehe,wbreite,xpmi,xmi,tmi: longint; xz,yz: extended; pPWerte: pTExtendedArray; pPAnzahlen: pTLongintArray): boolean; function findeSchwellwerte(xmi,xma,tmi,tma: longint; Schw: extended): tExtPointArray; @@ -78,6 +78,8 @@ type implementation +uses systemunit; + constructor tLLWerte.create(ps: tExtrainfos); begin inherited create; @@ -1102,9 +1104,13 @@ begin br:=params.xsteps; ho:=params.tsiz; end; - gibAus('Fordere '+inttostr(floor(ho*br*sizeof(wgen)/1024/1024))+' MB RAM an ('+inttostr(br)+' x-Schritte mal '+inttostr(ho)+' t-Schritte; bisher '+inttostr(belegterSpeicher div 1024)+' MB belegt). ...',ausgaben); + if (ausgaben and __ausgabenMaske) <> 0 then + gibAus('Fordere '+inttostr(floor(ho*br*sizeof(wgen)/1024/1024))+' MB RAM an ('+inttostr(br)+' x-Schritte mal '+inttostr(ho)+' t-Schritte; bisher '+inttostr(belegterSpeicher div 1024)+' MB belegt). ...',ausgaben); + setlength(werte,br*ho); - gibAus('... fertig '+timetostr(now-Zeit),ausgaben); + if (ausgaben and __ausgabenMaske) <> 0 then + gibAus('... fertig '+timetostr(now-Zeit),ausgaben); + end; function tLLWerte.zuPixelWerten(whoehe,wbreite,xpmi,xmi,tmi: longint; xz,yz: extended; pPWerte: pTExtendedArray; pPAnzahlen: pTLongintArray): boolean; |