Multiple issues with XnConvert
Posted: Tue Aug 15, 2023 12:26 am
1. Turning on "Delete original" makes XnConvert window force focus on itself.
This makes using Windows near impossible. No matter what window you click on, it will immediately loose focus. If you then press Esc on keyboard, it will show you some notification about "aborting transfers" for maybe one second and then XnConvert will close. My guess is that you are using some Explorer API to remove files, but you are using it in wrong way. And it doesn't matter if I have Recycle Bin enabled or disabled in Windows, or if I set "useRecycleBin=false" in ini, it still behaves the same.
2. Turning on "Delete original" removes original file before converted one is written to disk.
This was a shock to me. I was using Process Monitor to analyze that 1st point and then I saw this This was a test to convert web to png. First the whole source file is read to memory (not shown here), then it clearly shows that webp file is accessed (CreateFile operation) with intent to remove it (Desired Access: Delete, Delete On Close). After that file is closed (CloseFile operation) so Windows immediately removes that file. After this you can see creating new png file and writing to it. This is so wrong! You can't remove source file before writing destination file, what if there was some error during write operation (bad sector, device removal, etc)? You loose the source file.
3. Portable version stores ini in AppData\Roaming\XnConvert\xnconvert.ini.
Not very portable, is it?
4. Pressing Esc key closes XnConvert regardless of what it is doing.
It will cancel conversion without any confirmation!
5. There is no information that it doesn't support converting gif to animated webp.
It just converts first frame.
6. Output log should display errors at the end.
I converted 40000 files and had 1 error. Good luck finding it.
7. Add "View as: simple list".
I use "Details" view. When I added 40000 files it took about 1 minute to load them to the table with 1 thread, but after they were loaded it started using 2 threads for about 4 minutes with ram usage slowly rising to 1.5 GB to load thumbs and details. Can you add "simple" list view so it will not load details and thumbnails when adding files?
8. When saving files to disk they are written in "4 KB" chunks.
You can see this in that screenshot above, Write operations write to that file in 4096 bytes chunks. This isn't really a very big issue since most of the time we are limited by cpu speed, but writing files in small chunks is just not a good practice. You should use at least 128 KB.
This makes using Windows near impossible. No matter what window you click on, it will immediately loose focus. If you then press Esc on keyboard, it will show you some notification about "aborting transfers" for maybe one second and then XnConvert will close. My guess is that you are using some Explorer API to remove files, but you are using it in wrong way. And it doesn't matter if I have Recycle Bin enabled or disabled in Windows, or if I set "useRecycleBin=false" in ini, it still behaves the same.
2. Turning on "Delete original" removes original file before converted one is written to disk.
This was a shock to me. I was using Process Monitor to analyze that 1st point and then I saw this This was a test to convert web to png. First the whole source file is read to memory (not shown here), then it clearly shows that webp file is accessed (CreateFile operation) with intent to remove it (Desired Access: Delete, Delete On Close). After that file is closed (CloseFile operation) so Windows immediately removes that file. After this you can see creating new png file and writing to it. This is so wrong! You can't remove source file before writing destination file, what if there was some error during write operation (bad sector, device removal, etc)? You loose the source file.
3. Portable version stores ini in AppData\Roaming\XnConvert\xnconvert.ini.
Not very portable, is it?
4. Pressing Esc key closes XnConvert regardless of what it is doing.
It will cancel conversion without any confirmation!
5. There is no information that it doesn't support converting gif to animated webp.
It just converts first frame.
6. Output log should display errors at the end.
I converted 40000 files and had 1 error. Good luck finding it.
7. Add "View as: simple list".
I use "Details" view. When I added 40000 files it took about 1 minute to load them to the table with 1 thread, but after they were loaded it started using 2 threads for about 4 minutes with ram usage slowly rising to 1.5 GB to load thumbs and details. Can you add "simple" list view so it will not load details and thumbnails when adding files?
8. When saving files to disk they are written in "4 KB" chunks.
You can see this in that screenshot above, Write operations write to that file in 4096 bytes chunks. This isn't really a very big issue since most of the time we are limited by cpu speed, but writing files in small chunks is just not a good practice. You should use at least 128 KB.