Hammerfall DSP System
This Tech Info explains why your notebook behaves completely different than your desktop computer, and how you can still change it for good performance (not only audio performance.)
Software Tuning - Installation
Finally, after some weeks of preparations and first
tests, you have bought the supposed 'powerbook', switched it on and find
yourself overrun by a huge mass of tools, background applications and pre-installed
software. Same over here...
The other one can be found on almost every notebook, it is not always set up disturbing though: the setup dialog of the Synoptics/Allps touchpad. If the option 'animated' is active here (upper picture), moving the mouse at high system load and low latency causes clicks as well.
If the system has been cleaned so far and the unavoidable Office with its quickstart bar has been deactivated, the Tech Info Tuning Tips for Low Latency Operation can be executed step by step. Afterwards, the notebook should really take off. If it does not, see below.
A complete new installation proved to be unproblematic. Careful natures don't erase the whole disk, but rename the directory using a startup disk before starting Windows, i. e. \Windows to \Winback. The new installation is made in \Windows, the old \Winback can be reactivated with a simple rename command at any time. Should special drivers be required, you will usually find them on a Driver-CD delivered with the computer. Getting a complete Windows could become a problem though, because many notebooks are only equipped with a so-called Recovery-CD, and after executing it, you may see all the unnecessary garbage again - just as when you bought it. Some manufacturer's also deliver an original Windows - almost, because this one installs only on this particular notebook (surprise, surprise.)
After a successful new installation and going through the low latency optimizations, there is the next test. Audio without glitches when doing simple monitoring below 6 ms? Probably not, because you have not installed Windows 2000...
Glitches guaranteed - Win9x on Notebooks
Every notebook has a special BIOS, which is quite different from a desktop's BIOS. It is not possible to install Windows on a notebook without Windows noticing it, respectively making a non-notebook installation. And this makes sense, because otherwise the CPU would melt soon and the battery would faint soon. The keyword is called ACPI. Since Windows 98, the Advanced Configuration and Power Management Interface is extensively anchored in the operating system. And it executes a number of special CPU power management functions together with the BIOS and the motherboard among other tasks. A simple example is the application CpuIdle, which even in desktops sets the CPU to Halt State if it doesn't do anything. In this state, the processor is waiting for the next interrupt and needs very little current. As a consequence, it gets much less hot.
ACPI on a desktop has more to do with configuration (Plug & Play) than with power, and it is therefore much less striking negatively. On a notebook on the other hand, all cards are being played. Example: the CPU fan in a desktop is not controlled, it keeps running all the time. In a notebook, the temperature of the CPU is being measured, and when passing a limit, the operating system is being told that there is a critical condition and the fan has to be switched on. Operating system and/or BIOS are now trying to send out a hardware command on a system management bus and switch the fan on.
To be honest we don't know, if it happens exactly like this or only in a similar way. Fact is: During transmission of the command, the operating system is halted shortly. This is nothing new for Microsoft, where a ridiculous request for an inserted CD would block the whole system once a second (auto insert notification.) However, here the example is symptomatic for all ACPI functions, i.e. those actions are constantly happening unpredictably, which then cause permanent (apparently accidental) glitches in low latency operation, although the notebook doesn't seem to do anything at the moment.
It gets really bad when the transmission of the command takes too long - for whatever reason. With the Dell Inspiron 8000 and Lattitude series, among others, switching on and off the CPU fan causes a dropout of up to 23 milliseconds! In our humble opinion this can only be called a misconception, and indeed, other notebooks show that it can be done much quicker. The Gericom Supersonic (though not our favorite, see Tech Info Notebook Tests - Compatibility and Performance) produces 'only' 1.5 milliseconds dropouts when switching the fan on and off.
The Low Latency solution: Windows 2000
So the lowest usable latency under Windows 98/ME depends on the combination BIOS/motherboard, and can't be predicted in any way. Despite superior hardware a notebook can fail completely in this discipline. As can be seen in our table there exist big differences, from random glitches at 23 ms down to acceptable 3 ms. We were of course not amused, but fortunately we found - not talking about the fan problem - a possibility to achieve considerably lower latencies: by installing Windows 2000!
Rumors tell us that Windows 2000 has a much better ACPI management. Even the fan is said to run less often, because the CPU is being used in a more efficient way. True or not, on every 'dual-boot' notebook so far tested by us, Windows 2000 can be used with 3 ms, while it was sometimes only 12 ms under Windows 98/ME. It should have been heard by now, that Windows 2000 runs perfectly also on single-CPU machines. Altogether we have to strongly recommend using Windows 2000 on notebooks dedicated to audio.
We can't avoid bad news for Dell-owners though: even W2k cannot defeat their fan stopper...
The notebooks had one thing in common with desktops: some applications reach considerably lower latencies by running in the background. It's sometimes already enough to click on the taskbar, thus focusing it - glitches gone. This behavior can be changed by Control Panel/System/Advanced/Performance Options. The default 'Applications' has to be changed into 'Background Tasks'.
Optimization of the Memory Data Transfer Rate
We'll show now with the Dell Inspiron 8000 as an example, how the memory data transfer rate of a notebook can be optimized, and what you gain with this in practice.
The SDRAM modules used at present are in the first place distinguished by their maximal clock frequency (Front Side Bus, memory clock), 100 MHz and 133 MHz. Many notebooks work with 100 MHz only, but many desktops as well, because the BX chipset, which is widely used, doesn't support clock rates above 100 MHz. The memory being used is called PC100. In newer computers with VIA or i815 chipsets, the memory is clocked with 133 MHz, i. e. PC133. Both types are available with different access speeds. 3-3-3 used to be common, nowadays 2-2-2 is the standard for 100 MHz. At 133 MHz however, you often still find 3-3-3. In many desktop machines, you can find these figures also in the BIOS. They represent the waitstates of CAS, RAS to CAS and RAS precharge. The memory module contains a little chip (the SPD EEprom), which contains these and other settings. The BIOS reads them and usually sets them automatically.
The first value, CAS Latency, abbreviated CL, is often used for distinguishing the memory modules. CL2 does not guarantee though, that it is a 2-2-2 module, it could also be 2-3-3. The difference in the data transfer rate between 2-2-2 and 3-3-3 is quite large with more than 20%, but the difference between 2-3-3 and 3-3-3 with less than 5% can almost be ignored!
In order to achieve at least decent speed on a notebook with otherwise outdated 100 MHz FSB, the memory used should be PC100 2-2-2. But this alone is not yet sufficient, the BIOS still has to set those values in the chipset. If the BIOS tells the chipset work with 3-3-3, the faster memory modules doesn't make a change at all.
This little information has taken us two days of tests and research after buying a Dell Inspiron 8000. We had bought 2-2-2 memory beforehand, but the memory benchmark of the test software Sandra showed a transfer rate as with 3-3-3. There was one 128 MByte bar PC100 3-3-3 in the notebook, so that we could also compare directly. We found a note in the manual telling that the notebook was working with CL2 (so Dell shipped a too slow module.) In another Inspiron we found an original 2-2-2 module though - which delivered the same transfer rate. Finally we found out, that the BIOS configures the chipset to 3-3-3 with a 3-3-3 module, but to 2-3-3 with a 2-2-2 module. After all the note in the manual is correct (CL2), but - as explained - practically the speed does not change at all.
|As with all other notebooks, including Dell, there
are nearly no settings in the BIOS which can be changed, especially not regarding
memory. Fortunately there are tools that allow accessing the chipset registers
under Windows quite comfortably, and which can also set the memory timing
to 2-2-2. We used the freeware WPCREDIT
by H. Oda. If you download the PCR file of the chipset too, the meaning of
the registers is even displayed directly. The screenshot shows the Dell's
setting with 2-2-2 memory: the chipset has been set to 2-3-3. This can now
be changed simply and in real-time: click into the column 50/03, then replace
the two zeros at the bottom right by two ones (3F is now shown instead of
3C), click on edit - done.
Sandra shows the difference in the transfer rate. While it was 255/287 MByte/s first (see reference 1), it is now 302/349 MByte/s, which is almost 20% more. By the way, reference 2 shows the value that could be reached with 133 MHz memory clock: 397/468 MByte/s. Of this, you can only dream as a notebook owner at the moment, especially, if you do have 133 MHz, but also Shared Memory. Reference 3 shows the Gericom Supersonic with 203/218, standing for almost any 1 GHz notebook sold in the $1.500 class at present.
What difference does it make?
There is no simple answer to this question. Many applications work quite differently, some run in the CPU and its first level cache almost entirely, others make intensive use of the main memory. Depending on this, the differences are different in amount. It is also crucial, if only one or more applications are running. The more applications are active, the more important the main memory becomes. The gain in performance was almost disappointing with simple audio tests. Logic 4.7 managed up to 7 Platinum reverbs in the DSP test song with 3-3-3 memory, 8 with 2-2-2 memory. Nuendo showed a CPU load of 72% in a 24 track project with 8 Nuendo reverbs with 3-3-3, 66% with 2-2-2. There is an explanation for this: skilled programmers let all processing-demanding tasks run in small execution loops directly in the CPU. On this, and also on present CPUs with full speed cache, the high performance of today's audio applications is based, but also their real-time capabilities regarding virtual sound synthesis. The main memory is only used for out-sourcing of uncritical tasks (screen, graphics) and for caching the tracks (hard disk), both are not so demanding regarding speed. There are still situations, where a higher memory data transfer rate can make a stronger effect.
An opposite example are technical design applications, e. g. for designing printed circuit boards. Rendering ground planes huge amounts of data are shifted through the main memory. A PCB design needing 3 minutes with 3-3-3 memory takes only 2 minutes and 35 seconds with 2-2-2 memory. So larger differences are possible. If you want to be sure of having the full processing power available in every situation, you will prefer 2-2-2 also in the audio field.
A much more substantial improvement could be achieved by changing to 133 MHz memory clock. Logic can load 13 Platinum reverbs here, Nuendo works at 56% CPU load (tested on a desktop with i815 board.) In other terms: at present, an optimally configured desktop is much faster than a similar notebook. By the way, the Gericom Supersonic with 1 GHz and 133 MHz memory manages only 8 Platinum reverbs, and 75% load in Nuendo.
Copyright © Matthias Carstens, 2001.
Copyright © 2002 RME. All rights reserved.
RME is a registered trademark.