Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

My compiled version works much slower than the precompiled distribution #154

Open
onuralparslan opened this issue Jun 14, 2020 · 2 comments

Comments

@onuralparslan
Copy link

I compiled QuickViewer from the source code on GitHub. I compared the speed of the QuickViewer that I compiled and the precompiled binary distribution available on GitHub. I checked how long it takes to view 100 images by long pressing the right cursor key. I used the default configuration of QuickViewer. I saw that my compiled version is two times slower than the precompiled binary distribution available on GitHub. It took two times more time to view 100 images with my compiled version. I tried different shaders like Bilinear, Bicubic shader etc., but the result was the same.

I used Qt Creator for compiling the code. I used the kit Qt 5.12.4 and MSVC2015 64 bit. I selected "Microsoft Visual C++ Compiler 14.0 (amd64)" as the C and C++ Compiler in the Kits option. I used the default compiling options. I compiled QuickViewer version 1.1.7, because version 1.1.8 has a resize bug that I reported before.

I also noticed that my compiled QuickViewer.exe file is a bit smaller than the QuickViewer.exe in the precompiled distributed binary (same version 1.1.7) on GitHub.

I attached the compiler logs for the jom and the "jom install"

What can be the reason for such a speed difference? Maybe, the compiler configuration file on github has a different optimization level switch or render switch than the precompiled version?

jom.txt
jom_install.txt

@kanryu
Copy link
Owner

kanryu commented Jun 15, 2020

I don't know the details of how you built it, but the most likely one is the lack of the Qt Image Plugin. Please copy the official binary distribution Image Plugin into your binary once.

Another possible cause is that some libraries have limited performance when built with MSVC. In QuickViewer, such special library may be built once with gcc(msys2) and linked as a binary lib file.

@onuralparslan
Copy link
Author

Thank you for reply. Yes, the problem was the image plugin. I saw that rawspeed plugin files like "qrawspeed0.dll" are missing in the folder "imageformats" in my compiled version. Therefore, QuickViewer used slower libraries.

I checked why rawspeed was not compiled. I saw that the file ".gitmodules" in QuickViewer does not include rawspeed, so it is not downloaded from Git and compiled. I checked the HowToBuild.md, but it does not say anything about rawspeed plugin. The only place that rawspeed plugin is mentioned is in "QuickViewer.pro", which tries to copy the rawspeed dll files to the build destination. However, the files are not available, so it fails.

Could you please add rawspeed to ".gitmodules" so that it is automatically downloaded and compiled?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants