Topic: Extent of multicore support?

I undertand that Pianoteq 2.1 is enabled for dual-core threading on cpus such as Intel Core2Duo.

What is the situation regarding quad-core cpus like Intel Core2Quad, now that these are becoming available at a reasonable price (and I find myself with the pain of having to put together a new desktop machine)? Is there a comparable performance advantage with more than two cores and/or processors?

In view of the problem that Microsoft admit here (http://support.microsoft.com/kb/932370) that "The number of physical hyperthreading-enabled processors or the number of physical multicore processors is incorrectly reported in Windows XP and in Windows Server 2003", how is it possible for an end-user determine that Pianoteq is actually utilizing more than one core on XP?

I am reluctant to go to Vista until it is mature, and until it becomes clear how the innovations in Vista (particularly the DRM security, but also the new driver model) affect the performance of audio peripherals and applications, and for that reason intend to stay with XP SP2. I woud be interested in comments about running PT on Vista compared with XP. (From a recent "Sound on Sound" magazine article reporting the opinions of hardware designers from RME, M-Audio, etc, I read between the lines of a certain gnashing of teeth that they do not necessarily want to megaphone in public).

Thanks.

Re: Extent of multicore support?

Quad core won't bring any performance improvement to pianoteq, two "core 2" cores are way enough to run pianoteq with a good margin. Of course, if you have more than one instance of the plugin, or if you have other cpu-hungry plugins running at the same time, then quad core will be insteresting (if the host supports more than one rendering thread)

The simplest way to check cpu usage is to look at the performance tab of the windows task manager. There is one graph per core, so it is easy to spot situations where the two cores are working.

Regarding vista, audio drivers are still an issue, they are either beta or non-existent

Re: Extent of multicore support?

If I understand what you are saying, an instance of Pianoteq will use only one other core or processor if it is available. But this applies to one running instance. So if, for example, I set up my Overture notation software so that each of the two piano staffs is rendered by a separate instance of Pianoteq, then one might hope that all four cores of a Core2Quad processor (in Windows XP Home - only one processor supported) would be utilized. Similarly for XP Pro systems, which are permitted two processors, although these can have multiple cores.

Re: Extent of multicore support?

Yes that is correct, but only if Overture supports multiple rendering threads. If not, then in the case of two pianoteq instances, you will be using only three cores

Re: Extent of multicore support?

With certain Asio sync methods single core cpu usage with pianoteq skyrockets to 100% (because of this they can allow much shorter latencies). Since Pianoteq seems (at least to me) to only use one thread I think the piano simulating part could interfer with asio performance. I understand that Pianoteq at the moment is single threaded and "doesn't need more" in its current status, but I was wondering if it could be possible in future to make the program to make more advantage of multithreading capabilities of newer processors.

Something like this:
Thread 0 = Asio sound sync
Thread 1 = Piano sound simulation
Thread 2 = Reverberation
etc.

Also, I've read in this forum that algorithms for simulating piano sound cannot be too detailed (complex) because they would consume too many resources, but today Pianoteq on modern computers can only use 50% of them at best (dual core processors) or even only 25% (quad cores). So much power is wasted, I think there should be an option to make the program to get advantage of it. For example, if a key makes the hammer strike two strings, why couldn't the strings be simulated (in a very detailed manner = high cpu usage) each by one processor core?