ImageEn for Delphi and C++ Builder ImageEn for Delphi and C++ Builder

 

ImageEn Forum
Profile    Join    Active Topics    Forum FAQ    Search this forumSearch
Forum membership is Free!  Click Join to sign-up
Username:
Password:
Save Password
Forgot your Password?

 All Forums
 ImageEn Library for Delphi, C++ and .Net
 ImageEn and IEvolution Support Forum
 Found an issue in ImageEn 10.3.0
 New Topic  Reply to Topic
Author Previous Topic Topic Next Topic  

foxdingding

77 Posts

Posted - Dec 24 2021 :  05:01:40  Show Profile  Reply
I found a bug in ImageEn 10.3.0!

TImageEnMView

ImageEn 10.0.0~ImageEn 10.2.0 is OK!

------Set----------

  ImageEnMView.ReadOnly:=TRUE;
  ImageEnMView.EnableImageCaching:=TRUE;
  ImageEnMView.StoreType:=ietFastThumb;
  ImageEnMView.ImageCacheSize:=500;

  ImageEnMView.WicFastLoading := True;
  ImageEnMView.EnableLoadExplorerThumbnails := True;
  ImageEnMView.EnableLoadEXIFThumbnails := True;
  ImageEnMView.AnnotationsVisible :=TRUE;
  ImageEnMView.SetModernStyling( True, 0, 0, False );
  ImageEnMView.PopupMenu:=nil;

  ImageEnMView.ShowThumbnailHint := TRUE;//False;
  ImageEnMView.ShowHint          := TRUE;//False;

  ImageEnMView.ParentShowHint    := False;

  ImageEnMView.SetThumbnailSize( 100, 100);

-------Load 1000 A4 300DPI tif ---------
  Screen.Cursor := crHourglass;
  ImageEnMView.LockUpdate;
  Try
    ImageEnMView.Clear;
    //ImageEnMView.FillFromDirectory(SYS_Path.Work_IMG_Do,iefAllImages);

    For I:=1 to 1000 do
    Begin
       ImageEnMView1.AppendImage('c:\A4_300DPI_Test.tif');
    End;

    for I := 0 to  ImageEnMView.ImageCount-1  do
        ImageEnMView.ImageBottomText[I]:=(I+1).toString;

  Finally
    ImageEnMView.UnlockUpdate;
    Screen.Cursor := crDefault;
  End;




xequte

38610 Posts

Posted - Dec 25 2021 :  19:09:45  Show Profile  Reply
Hi

I don't see any issue when I run your code. Can you describe what you are seeing?

Nigel
Xequte Software
www.imageen.com
Go to Top of Page

foxdingding

77 Posts

Posted - Dec 27 2021 :  19:34:34  Show Profile  Reply
If more than 300 pictures are loaded
10.3. 0(TImageEnMView)
Will be running all the time and cannot generate thumbnails.


EmbarcaderoŽ Delphi 10.3
64Bit

I haven't tested 32-bit yet
Go to Top of Page

xequte

38610 Posts

Posted - Dec 28 2021 :  00:04:18  Show Profile  Reply
Does the EXE folder contain ielib64.dll? Does adding/removing it affect the issue?

https://www.imageen.com/help/ImageEn_DLLs.html

I am testing as follows:

Add a TImageEnMView and TButton to a form. Add the following code to the button click event:

var
  I: Integer;
begin
  ImageEnMView1.ReadOnly:=TRUE;
  ImageEnMView1.EnableImageCaching:=TRUE;
  ImageEnMView1.StoreType:=ietFastThumb;
  ImageEnMView1.ImageCacheSize:=500;

  ImageEnMView1.WicFastLoading := True;
  ImageEnMView1.EnableLoadExplorerThumbnails := True;
  ImageEnMView1.EnableLoadEXIFThumbnails := True;
  ImageEnMView1.AnnotationsVisible :=TRUE;
  ImageEnMView1.SetModernStyling( True, 0, 0, False );

  ImageEnMView1.ShowThumbnailHint := TRUE;
  ImageEnMView1.ShowHint          := TRUE;

  ImageEnMView1.ParentShowHint    := False;

  ImageEnMView1.SetThumbnailSize( 100, 100);

  Screen.Cursor := crHourglass;
  ImageEnMView1.LockUpdate;
  Try
    ImageEnMView1.Clear;

    For I : 1 to 1000 do
    Begin
      ImageEnMView1.AppendImage('D:\Testing_Multimedia\TIFF\MTR306470-2.tif', TRUE );  // Tried also changing to False
      Caption := IntToStr( i );
    End;

    for I := 0 to ImageEnMView1.ImageCount-1 do
      ImageEnMView1.ImageBottomText[I]:=(I+1).toString;

  Finally
    ImageEnMView1.UnlockUpdate;
    Screen.Cursor := crDefault;
  End;
end;




Nigel
Xequte Software
www.imageen.com
Go to Top of Page

foxdingding

77 Posts

Posted - Dec 28 2021 :  05:00:06  Show Profile  Reply
Very strange
There are no serious errors in the new demo.
But there were serious mistakes in my work.
I'm increasing the demo step by step


But 10.3 0 is still better than 10.2 0 is much slower



The EXE folder contain ielib64.dll



I sent you an email
Speed difference between 10.3 and 10.2

10.2.0 and 10.3.0 test EXE

Go to Top of Page

xequte

38610 Posts

Posted - Dec 29 2021 :  15:16:27  Show Profile  Reply
I'm sorry, I don' think I have seen your email.

So 10.3.0 is OK? And faster?

Nigel
Xequte Software
www.imageen.com
Go to Top of Page

foxdingding

77 Posts

Posted - Dec 30 2021 :  22:24:28  Show Profile  Reply
I sent the email to these two addresses: support@xequte.com and nigel@xequte.com
What's your email address? I can resend it to you.

10.3.0 is slow
I can only use 10.2 0, 10.2 is faster.
Go to Top of Page

xequte

38610 Posts

Posted - Jan 01 2022 :  13:59:04  Show Profile  Reply
Those email addresses are correct. Please resend your message.

In what way is v10.3.0 slower?

Nigel
Xequte Software
www.imageen.com
Go to Top of Page

foxdingding

77 Posts

Posted - Jan 10 2022 :  21:26:30  Show Profile  Reply
resend mail to you.




procedure TForm1.FormCreate(Sender: TObject);
begin
  ImageEnMView.ReadOnly:=TRUE;
  ImageEnMView.EnableImageCaching:=TRUE;
  ImageEnMView.StoreType:=ietFastThumb;
  ImageEnMView.ImageCacheSize:=500;

  ImageEnMView.WicFastLoading := True;
  ImageEnMView.EnableLoadExplorerThumbnails := True;
  ImageEnMView.EnableLoadEXIFThumbnails := True;
  ImageEnMView.AnnotationsVisible :=TRUE;
  ImageEnMView.SetModernStyling( True, 0, 0, False );
  ImageEnMView.PopupMenu:=nil;

  ImageEnMView.ShowThumbnailHint := TRUE;//False;
  ImageEnMView.ShowHint          := TRUE;//False;

  ImageEnMView.ParentShowHint    := False;

  ImageEnMView.SetThumbnailSize( 100, 100);

  Self.Caption:=ImageEnMView.ImageEnVersion;

  SYS_Path:='c:\test\OK\';
end;


procedure TForm1.ImageEnMViewFinishWork(Sender: TObject);
begin
   //ProgressBar
end;

procedure TForm1.ImageEnMViewProgress(Sender: TObject; per: Integer);
begin
   ProgressBar.Position:=Per;
end;


procedure TForm1.Load1Click(Sender: TObject);
Var
  I:Integer;
begin
  if Not ForceDirectories(SYS_Path) Then Exit;

  Writeln('ForceDirectories OK! ',SYS_Path);

  Screen.Cursor := crHourglass;
  Try
    for I := 1 to 500 do
    Begin
       Writeln('Copy File ..',I);

       IOUtils.TFile.Copy('C7D49492-E85F-4F0E-8B31-3D7CA554B1DC.IEN',
                        SYS_Path+IOUtils.TPath.GetGUIDFileName(TRUE)+'_'+I.ToString+'.IEN');
    End;
  Finally
    Screen.Cursor := crDefault;
  End;
end;

procedure TForm1.Load2Click(Sender: TObject);
Var
  I,Idx:Integer;
  tmpAllFiles:TArray<String>;
  tmpFileName:String;
begin
  tmpAllFiles:=IOUtils.TDirectory.GetFiles(Self.SYS_Path,'*.IEN');

  Screen.Cursor := crHourglass;
  ImageEnMView.LockUpdate;
  Try
    ImageEnMView.Clear;
    for tmpFileName in tmpAllFiles do
    Begin
        ImageEnMView.AppendImage(tmpFileName);
        Idx:=ImageEnMView.AppendImage(tmpFileName,TRUE); //false);//
        ImageEnMView.ImageBottomText[idx]:=(idx+1).toString;
    End;
  Finally
    ImageEnMView.UnlockUpdate;
    Screen.Cursor := crDefault;
  End;

end;
Go to Top of Page

xequte

38610 Posts

Posted - Jan 11 2022 :  19:39:18  Show Profile  Reply
Hi

Are these your email addresses:

d***m***f**@1**.com
Last message on Nov 11.

136********@1**.com
Last message on Dec 19.

I'm not sure why I'm not receiving your latest messages. I'll send you an alternative email address.


I can't see anything in your code that should cause slowness. Have you tried timing the code to see where it is slower?

Nigel
Xequte Software
www.imageen.com
Go to Top of Page

foxdingding

77 Posts

Posted - Jan 11 2022 :  20:54:45  Show Profile  Reply
It's all my mail. I'll send it again.

The above code executes very fast.

10.3 internal asynchronous generation is very slow when generating thumbnails.
Go to Top of Page

xequte

38610 Posts

Posted - Jan 14 2022 :  00:06:23  Show Profile  Reply
Please send just the source of your test. I'll compile it here.

Nigel
Xequte Software
www.imageen.com
Go to Top of Page

foxdingding

77 Posts

Posted - Jan 18 2022 :  21:52:01  Show Profile  Reply
Test source code.


attach/foxdingding/2022118215233_Prog.zip
56.04 KB
Go to Top of Page

xequte

38610 Posts

Posted - Jan 19 2022 :  01:13:57  Show Profile  Reply
I'm not seeing any timing issues, in fact Proc_AsyncAllToIEN() is 20% faster in 10.3.0.

However I have seen a drawing issue that can exhibit. Some thumbnails don't paint.

Is that what you are seeing?

If so, can you try setting:

ImageEnMView.MaintainInvisibleImages := -1;

Nigel
Xequte Software
www.imageen.com
Go to Top of Page

foxdingding

77 Posts

Posted - Jan 19 2022 :  04:47:25  Show Profile  Reply
Yes, some thumbnails don't paint.

But I found that occasionally 10.3 has been run Proc_AsyncAllToIEN ,always running.
Did not exit Proc_AsyncAllToIEN.

I can you try setting:
ImageEnMView.MaintainInvisibleImages := -1;

Thansk.

Go to Top of Page

foxdingding

77 Posts

Posted - Jan 19 2022 :  04:57:58  Show Profile  Reply
I tested it just now. It's very fast!
very nice.
I will continue to test.
Go to Top of Page

xequte

38610 Posts

Posted - Jan 19 2022 :  20:46:31  Show Profile  Reply
You can email me for updated source code.

Nigel
Xequte Software
www.imageen.com
Go to Top of Page

foxdingding

77 Posts

Posted - Jan 20 2022 :  07:10:34  Show Profile  Reply
I've sent you an email.

thank you very much!
Go to Top of Page
  Previous Topic Topic Next Topic  
 New Topic  Reply to Topic
Jump To: