Quote:
Originally Posted by tjallen
I'm a long-time Slackware user. I started with Slack 3.0 in '96. My main home machine is now getting a little old: 1.0 GHz PIII, Matrox Millennium II with 8MB, and 768 MB RAM. I currently have Slack 12.2 on the machine and have now put 14.1 on it as well with an eye toward a complete upgrade. (The machine also boots NEXTSTEP 3.3 and Win 2000. It is difficult to get newer hardware that is supported by NEXTSTEP. I also have a PII overdrive with similar peripherals and the same three OSs that I also sometimes use.)
My problem is that X11 in 14.1 runs poorly compared to X11 in 12.2 on my PIII machine. (It even seems to run more poorly than X11 in 12.2 on my PII overdrive machine.) Xfce in 12.2 is almost snappy; windows drag without tearing in Xfce even with compositing on. On Xfce in 14.1, windows tear and flicker if they're dragged around, while KDE is completely unusable.
To improve the situation, I've recompiled both X11 and Xfce with SLKCFLAGS="-march=pentium3 -O2 -fomit-frame-pointer -ffast-math -funroll-loops -ftree-vectorize -mno-sse2 -mfpmath=sse" and then turned off compositing in /etc/X11/xorg.conf:
Section "Extensions"
Option "Composite" "Disable"
EndSection
With these tweaks, Xfce/X11 in 14.1 runs almost as well as the stock Xfce/X11 in 12.2. On all my installations, including both 12.2 and 14.1, I always recompile the kernel, aggressively tweaking it for performance on my specific hardware.
Does anyone have any ideas for improving performance of X11 on 14.1? (I've tried LXDE and e17, but they're not enough faster than Xfce to fully compensate.) What else should I look at? Are there any benchmarking tools to help me pinpoint the bottlenecks?
|
Anytime you adjust the CFLAGS for a compile to get more closely matched to your specific architecture, any program will run usually better with those optimizations. This is especially true on x86 based platforms which have many different optimization levels. That's why when you adjusted for Pentium 3 rather than Pentium Pro things ran more fluidly.
Slackware is built around a default of i486 or x86_64 optimizations on their respective architectures to maximize compatibility. It's not however the most optimal compile method due to raising maximum compatibility.
This is why do-it-yourself distributions like Gentoo and LFS can be tuned as all the software can be built to machine specifics.
You'll often find many mainstream distributions built off the i386, i486, i586, or x86_64 compile flags, and Slackware is no exception to this unless you rebuild the packages.