昨天用mplayer放wmv出了问题,于是便去下了mplayer-docs。搞定了wmv的问题后,又接着看了一点,里面说,设定MTRR注册后,能“极大的提高性能”。
具体方法如下:
首先,使用lspci -v,查看显卡的信息。我的显卡如下:
02:00.0 VGA compatible controller: nVidia Corporation NV34 [GeForce FX 5200 Ultra] (rev a1) (prog-if 00 [VGA])
Flags: bus master, 66Mhz, medium devsel, latency 248, IRQ 5
Memory at ec000000 (32-bit, non-prefetchable) [size=16M]
Memory at e0000000 (32-bit, prefetchable) [size=128M]
[virtual] Expansion ROM at ed000000 [disabled] [size=128K]
Capabilities:
我的显卡是128M显存的,可以看到它的基地址为e0000000。
显存对应的大小如下:
- 1MB 0x100000
- 2MB 0x200000
- 4MB 0x400000
- 8MB 0x800000
- 16MB 0x1000000
- 32MB 0x2000000
- 64MB 0x4000000
- 128MB 0x8000000
查看一下mtrr: cat /proc/mtrr,得到:
reg00: base=0x00000000 ( 0MB), size= 512MB: write-back, count=1
reg01: base=0xe8000000 (3712MB), size= 64MB: write-combining, count=1
也就是说,显存还没有注册进去,因此,使用root执行:
echo "base=0xe0000000 size=0x8000000 type=write-combining" >| /proc/mtrr
然后再查看/proc/mtrr,得到:
reg00: base=0x00000000 ( 0MB), size= 512MB: write-back, count=1
reg01: base=0xe8000000 (3712MB), size= 64MB: write-combining, count=1
reg02: base=0xe0000000 (3584MB), size= 128MB: write-combining, count=1
只要把前面的echo语句放到/etc/rc.d/rc.local里面,就可以每次启动系统都自动注册了。当然,每个人的机器都不一样,只需要把基地址和显存大小用实际数值替换掉即可。不过比较老的CPU可能不支持mtrr,可以检查/proc/cpuinfo,看看flags那里有没有mtrr,当然,建内核的时候也要把MTRR选上的,具体可以参见内核源码的Documentation/mtrr.txt。
阅读(2427) | 评论(0) | 转发(1) |