Multi-core processor disappointment


I have just purchased CorelDraw X5 Home & Student because I expected some improvements over PhotoPaint 11 SA, which I was using before. The main reason was the announced multi-core support, which would - in theory - greatly benefit from my new 4-core computer (Win7 64bit).

I still have version 11 installed, so I compared it to X5. First I was amazed of how little has changed in the  8 years between the two versions. But I think I should start another thread about this; let's focus on multi-core support. I will mainly be talking about PhotoPaint, because I don't use CorelDraw and the other tools much.


In general there are two possible reasons to implement multi-treading in a software:

1. Classical multi-threading: Used to make the user interface responsible while the program is doing some work in the background. In this case the program performs two or more totally independent tasks. This even makes sense if there is only one CPU core.

2. Support of multiple CPU cores: A single function within a program is split up in order to be processed in parallel by all cores. The purpose of this is to reduce the time required to process one task.


The first kind of multi-threading was already implemented in version 11 or even in older versions (I don't have them installed now so I cannot test). For example you can work on a second file while the first file is saved or while a complex bitmap filter is calculated.

Now we live in the age of multi-core CPUs, and if a program is advertised with "more speed with new multi-core support", this usually refers to the second kind of multi-threading, while the first kind is taken for granted.

I installed a tool to display the work load of each of my four CPU cores, and then I checked how many of the funktions in PhotoPaint X5 can put 100% (or nearly 100%) load on all cores. With this method it is only possible to detect multi-core support if a feature in the software needs much time (at least a few seconds) to finish. But fast features requiring only a fraction of a second aren't of interest here, because the user wouldn't notice the difference between single-core and multi-core support anyway.

Here my results:

Painting with a very large brush: no multi-core support.

Apply about 50 of the approximately 100 bitmap effects: Only one (Stained Glass) has detectable multi-core support!

Corel Draw: create two objects with gradient fill and apply the blend tool to create a progression of intermediate objects. The rendering of the result takes about two seconds and does not make use of multiple cores.


Corel does not list the exact features which have multi-core support, but I found a few hints in the forums:

- Saving of files. This was already available in previous versions, as I mentioned above.

- Printing. Can't say anything, I never ever printed with Corel. Probably the same applies as to saving files.

- RAW import: Never did that either.

- Bitmap filters: That's a plain lie. It is true for a small percentage of the filters only.


Some users may be happy about the faster RAW import, but some of the most time consuming functions (vector graphics rendering and bitmap effects) don't run faster in X5.

In my opinion the user benefit of the current multi-core implementation is very close to null.

Or did I miss something? I wouldn't want to believe that the developers at Corel are lazy and the marketing guys are liars ;-)


Any other opinions about this?