archimatetool / archi

Archi: ArchiMate Modelling Tool
https://www.archimatetool.com
MIT License
914 stars 267 forks source link

Copy As Image To Clipboard hangs up Archi.exe #1007

Closed wout-de-jong closed 3 months ago

wout-de-jong commented 6 months ago

Version of Archi

5.2

Archi Plug-ins

coArchi 0.9

Operating System

Windows 11

Expected Behaviour

When I have a view with 10s of archi objects, Copy As Image To Clipboard copies the view to the Windows clipboard. When I have a view with 100s of archi objects, Copy As Image To Clipboard copies the view to the Windows clipboard.

Actual Behaviour

When I have a view with 10s of archi objects, Copy As Image To Clipboard copies the view to the Windows clipboard. When I have a view with 100s of archi objects, Copy As Image To Clipboard hangs up Archi (non-responding for >15 minutes, only killing the process works). When Archi is non-responding, the whole Windows clipboard is affected. I can Cut or Copy, but not Paste. The copied or cut text is not visible in Windows key + v clipboard.

Context

The Archi version in which the Views were created is 4.6.x. The last Archi version which could successfully Copy As Image To Clipboard was 4.8. Windows paste history (Windows key + v) is active.

Steps to Reproduce the Behaviour

  1. Create a view with lots of objects
  2. Select view and press context menu (right mouse button).
  3. Copy As Image To Clipboard
Phillipus commented 6 months ago

Hi, it depends on the View and how much memory you have on your machine. I tested on my Windows 11 machine with a View containing several hundreds of objects and it was OK. Can you provide an example .archimate model file with an example View where you experience this problem?

wout-de-jong commented 6 months ago

Bonjour Phillip, thanks for the quick response. The windows 11 host has 32 GB of RAM. The hanging archi.exe uses almost 1 GB, and CPU is consistently between 5-9% (of a 20 core i9-13900H). I cannot share the model. However, I noticed something new. If 1 object is extremely wide (like 4-5 scrolls on a UHD screen), and you try to Copy As Image, it hangs up Archi.exe. You can easily reproduce this I think. Hope this helps, cheers, Wout

Phillipus commented 6 months ago

Hi, yes I can reproduce this if the View is extremely wide and tall, as this makes the image size larger.

It's a regression caused by https://github.com/archimatetool/archi/issues/842.

This fix for #842 additionally copies the image data as BMP format which is causing the hang. I'm going to revert that for the next version of Archi. Thanks for the bug report.

Until the next version of Archi there is no workaround other than to save the View as Image.

Phillipus commented 3 months ago

Implemented in Archi 5.3