Manual updates.
[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. Install suid root
5 3. Compile an optimized binary
6 4. Optimize your terminatorX setup
7
8 In Detail:
9
10 1. Don't use pixmapped nor other "fat" gtk+-themes.
11 ---------------------------------------------------
12
13 terminatorX involves quite some GUI activity, so it's desirable that drawing
14 happens fast. Some gtk+ engines can slow down drawing signifcantly
15
16 2. Install suid root
17 --------------------
18
19 Note: Installing a program suid-root is always potentially dangerous. However,
20 a program needs special privileges to acquire realtime scheduling (which 
21 improves playback quality signifcantly). Since release 3.82 terminatorX provides
22 only one method of running suid root:
23
24 - Linux' POSIX capabilities: when capabilities support is available at
25   compile time (requires libcap) terminatorX can make use of Linux' POSIX
26   capabilities. The binary has to be installed suid root but the program
27   will drop root privileges right on startup - after aquiring the CAP_SYS_NICE
28   capability.
29
30 While the capabilities based approach seems much more secure than the approach
31 that was previously implemented, it might still be exploitable. So, for 100%
32 security you have to do without realtime scheduling and not install terminatorX
33 suid root.
34
35 3. Compile an optimized binary
36 ------------------------------
37
38 This issue is covered in the INSTALL file mostly. Setting good optimization
39 flags is a good idea although this step will proabably have the least effect.
40
41 4. Optimize your terminatorX setup
42 ----------------------------------
43
44 The default settings for the GUI updates provide good realtime feedback. This
45 may cause problems on slower machines or evil gtk+-themes. If the GUI-thread
46 causes dropouts in the audio-engine you should increase the Update-Delay value 
47 in the options dialog.