spec file included.
[terminatorX.git] / README.PERFORMANCE
1 There are several things you can do to improve terminatorX performance:
2
3 1. Don't use fancy gtk+ themes
4 2. Compile an optimized binary
5 3. Optimize your terminatorX setup
6 4. Optimize your kernel
7
8 In Detail:
9
10 1. Don't use pixmapped nor other "fat" gtk+-themes.
11 ---------------------------------------------------
12
13 The sequencer brings a lot of additional GUI activity. Now the "selfmade"
14 widgets perform pretty good (no matter what theme you use) but for example
15 scale widgets are extremly slow with pixmap-themes. The problem is that the
16 gtk-pixmap engine has to stretch the images and stretching images is a very
17 CPU-intensive task. So it's best to not use those themes at all.
18
19 Now just recently I installed terminatorX on PIII 500 and wondered why it
20 performed like running on a 486 machine. Now I found that those new fancy
21 gtk+-themes that bring their own code to draw the widgets eat performance
22 like mad, too. This even hurts the performance of tX' very own widgets and
23 therefore hurts playback performance quite a lot. So you shouldn't use these 
24 kind of themes, neither.
25
26 2. Compile an optimized binary
27 ------------------------------
28
29 This issue is covered in the INSTALL file mostly. Setting good optimization
30 flags is a good idea although this step will proabably have the least effect.
31
32 3. Optimize your terminatorX setup
33 ----------------------------------
34
35 The default settings for the GUI updates provide good realtime feedback. This
36 may cause problems on slower machines or evil gtk+-themes. If the GUI-thread
37 causes dropouts in the audio-engine you should increase the Update-Delay value 
38 in the options dialog.
39
40 4. Optimize your kernel
41 -----------------------
42
43 The current 2.2.X-kernels show a pretty high latency. This is problematic for
44 near-realtime apps and therefore most linux-audio-apps. Ingo Molnar is
45 maintaining a patch against the 2.2.x kernels that reduces latency. They are
46 called "low-latency-patches" and are available from:
47 http://people.redhat.com/mingo/lowlatency-patches/
48
49 Now although latency has improved with the 2.4 releases there is still some
50 tuning possible with those kernels. There exist patches for those kernels as
51 well and they may go into the main kernel tree as soon as they're finished.