ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/oup/current/Helper/LevelDB.pas
(Generate patch)

Comparing oup/current/Helper/LevelDB.pas (file contents):
Revision 131 by alloc, Wed Mar 28 01:20:26 2007 UTC vs.
Revision 132 by alloc, Wed Mar 28 01:41:10 2007 UTC

# Line 65 | Line 65 | var
65    Stream_Body, Stream_Names:          TMemoryStream;
66    Stream_Dat, Stream_Raw, Stream_Sep: TFileStream;
67  
68 //  Data, rawdata: Tdata;
68    BeginTime, FileTime: Double;
69    Step:     Integer;
71 //  rawlist:  TRawDataList;
72 //  datlinks: TDatLinks;
70    OniImage:   TOniImage;
71    LevelID:    Integer;
72    TimeFormat: TFormatSettings;
# Line 90 | Line 87 | var
87    RawLinks:   TRawDataList;
88  
89    DatFileStream, RawFileStream: TMemoryStream;
90 +
91 + // ###########################
92 +  datsum, linksum, rawsum: Int64;
93 +  freq: Int64;
94 +  tempticks1, tempticks2: Int64;
95 + // ###########################
96   const
97    Steps: Byte = 3;
98  
# Line 280 | Line 283 | begin
283    lbl_estimation.Caption := 'Estimated finishing time: unknown';
284    Application.ProcessMessages;
285  
286 +  QueryPerformanceFrequency(freq);
287 +  datsum := 0;
288 +  linksum := 0;
289 +  rawsum := 0;
290 +
291    FileTime := Time;
292    for FileID := 0 to DatHeader.Files - 1 do
293    begin
# Line 288 | Line 296 | begin
296        FilesHeader[FileID].Extension[j] := FileInfo.Extension[4 - j];
297      if FileInfo.Size > 0 then
298      begin
299 +      QueryPerformanceCounter(tempticks1);
300 +
301        FilesHeader[FileID].DataAddr := Stream_Body.Size + 8;
302        DatFileStream := TMemoryStream.Create;
303        Connection.LoadDatFile(FileID, TStream(DatFileStream));
304        DatFileStream.Seek(4, soFromBeginning);
305        DatFileStream.Write(LevelID, 4);
306  
307 +      QueryPerformanceCounter(tempticks2);
308 +      datsum := datsum + (tempticks2 - tempticks1);
309 +
310        DatLinks := Connection.GetDatLinks(FileID);
311        if Length(DatLinks) > 0 then
312        begin
# Line 308 | Line 321 | begin
321          end;
322        end;
323  
324 +      QueryPerformanceCounter(tempticks1);
325 +      linksum := linksum + (tempticks1 - tempticks2);
326 +
327        RawLinks := Connection.GetRawList(FileID);
328        if Length(RawLinks) > 0 then
329        begin
# Line 334 | Line 350 | begin
350        end;
351        DatFileStream.Seek(0, soFromBeginning);
352        Stream_Body.CopyFrom(DatFileStream, DatFileStream.Size);
353 +
354 +      QueryPerformanceCounter(tempticks2);
355 +      rawsum := rawsum + (tempticks2 - tempticks1);
356      end
357      else
358        FilesHeader[i].DataAddr := 0;
# Line 356 | Line 375 | begin
375      Application.ProcessMessages;
376    end;
377  
378 +  ShowMessage('AvgDats: ' + FloatToStr((datsum / progress.Max) / freq) + #13#10 +
379 +      'AvgLinks: ' + FloatToStr((linksum / progress.Max) / freq) + #13#10 +
380 +      'AvgRaws: ' + FloatToStr((rawsum / progress.Max) / freq)
381 +   );
382 +
383    Stream_Dat.Write(DatHeader, SizeOf(DatHeader));
384    for i := 0 to High(FilesHeader) do
385      Stream_Dat.Write(FilesHeader[i], SizeOf(FilesHeader[i]));

Diff Legend

Removed lines
+ Added lines
< Changed lines (old)
> Changed lines (new)