chris2511 / xca

X Certificate and Key management
http://xca.hohnstaedt.de
Other
1.5k stars 202 forks source link

XCA 2.5.0 & 2.6.0 very slow #535

Closed JBau32 closed 1 month ago

JBau32 commented 7 months ago

Most likely same problem as #533

Looking at the process activity, I see that it constantly spams the Windows Registry for Time zones. (QDateTime fromString) Tracing it further it is due to pki_x509::bg_color/pki_base::bg_color which are being called a lot. Temporarily removing that function using a debugger has lead to improved responsiveness and no more constant freezing. There still is some stalls/freezes but not anytime i hover or select a certificate.

OS: Windows 11

JBau32 commented 7 months ago

Found related QT6 bug: https://bugreports.qt.io/browse/QTBUG-120285

chris2511 commented 7 months ago

On my Windows 11, XCA works pretty fast. Even when running inside a virtual machine hosted on an old and slow linux-intel-I5. If QT6 is the culprit, please try the QT-5.15 action-build of XCA-2.6.0

JBau32 commented 7 months ago

It gets significantly slower if you add 200-500 certificates.

And yes, just tried, qt5 variant is unaffected. Qt6 seems to have fixed this already on a later 6.6 patch, xca release uses 6.6.0.

JBau32 commented 7 months ago

Unfortunately the qt5 variant seems overall slower. So manually patching out pki_x509::bg_color/pki_base::bg_color functions on qt6 variant achieves the best results. Nested RootCA + 200 sub certificates are a big slowdown

chris2511 commented 7 months ago

Looks like selecting Don't colorize expired certificates in the options dialog also speeds up XCA without patching. The latest 6.6.2 QT release is still notably slower when colorizing expired certificates.

JBau32 commented 6 months ago

Good to know! That option will be my go-to workaround for now till QT devs have resolved that issue.

WRW001 commented 4 months ago

Using the latest 6.6.3 QT release will resolve this issue. You can have expired certificates colorized without slowing XCA down. The CI&DI currently configuration can't build Windows binaries using QT 6.0.X, so there will be no PRs. You can make Windows binaries by yourself.

533

GiladHi commented 4 months ago

Any chance of a new release / build with QT 6.3.3? The only issue I have with the latest version is the speed...

WRW001 commented 4 months ago

Any chance of a new release / build with QT 6.3.3? The only issue I have with the latest version is the speed...

https://github.com/WRW001/xca/releases

GiladHi commented 4 months ago

Thanks for the new version and the quick reply! 😎

GiladHi commented 4 months ago

Seems like Google Chrome is blocking the downloading of this build... Maybe I should wait for the next official version.

GiladHi commented 4 months ago

Hi @chris2511 ,

Any chance of a new release / build with the latest QT version (6.6.3) in order to solve the speed issue on Windows?...

chris2511 commented 1 month ago

https://github.com/chris2511/xca/releases/tag/RELEASE.2.7.0