红联首页 凝聚Linux人的力量
菜鸟过关 | 精华文档 | 同城人(交友) | 我与Linux的故事 | Linux新闻 | Linux视频 | Linux人才 | 软件下载 | 大学校园 | English
发新话题
打印

Solaris上的ArcMap Server 输出的图片质量很差的解决方案

Solaris上的ArcMap Server 输出的图片质量很差的解决方案

导致原因
当一个在ArcIMS Server机器上设置一个8位色彩深度时,在这个服务器上输出的图片就会颗粒感比较明显。

ArcIMS ArcMap server的缺省行为是使用虚拟显示服务器(XVFB),这个虚拟显示服务器模仿一个与物理显示无关的框架缓冲区。这个虚拟显示服务器的象素深度开始的时候缺省设置位24位深度。当用这个XVFB输出影像时,影像质量应该是比较高的。

写这篇文章主要是针对ArcMap Server的缺省行为发生了变化,不能使用XVFB了,或者当前的色彩深度不是24位了。

解决办法
下面的步骤用来确认是否设置了24位色彩深度和在必要的时候如何修改色彩深度。

切换到root用户下。

得到图形卡的信息:
#/usr/sbin/prtconf -F

确定这个图形卡支持24位:
#/usr/sbin/m64config -prconf

检查写着“possible depths”的行。

另外,一些机器允许使用下面的命令
#/usr/sbin/fbconfig -pfconf

如果没有设置到24位色彩深度,改变色彩深度和分辨率
#/usr/sbin/m64config -res 1152×900 -depth 24

确认分辨率设置为低于或等于1152×900,PGX+ 框架缓存在高于1152×900分辨率时不支持24位色彩

永久改变这些设置,这样当系统启动时将使用24位图形。

一些机器允许使用下面的命令来设置24位色彩深度:
fbconfig -dev pfb0 -depth 24

创建下面的目录,如果它不存在:

#mkdir /etc/dt/config
#cp /usr/dt/config/Xservers /etc/dt/config/Xservers

执行下面的命令:
#cd /etc/dt/config
#vi Xservers

观察文件最后一行。应该是这样的:

:0 Local local_uid@console root /usr/openwin/bin/Xsun :0 -nobanner

将这行变为:
:0 Local local_uid@console root /usr/openwin/bin/X -dev /dev/fb0 defdepth 24

在这行通过指明defdepth 8,色彩深度能变为8位。

如果安装了双框架缓冲区,用下面的命令为每个缓冲区指明色彩深度:

:0 Local local_uid@console root /usr/openwin/bin/X -dev /dev/fb0 defdepth 24 -dev /dev/fb1 defdepth 24

保存文件,重新启动机器,重新启动Xserver 。通过下面的命令检查修改的结果:
#m64config -prconf



#fbconfig -prconf

这个将显示当前的深度: 24.

停止和启动ArcIMS进程:Tasker,Monitor和Application Server .然后这些变化就会生效。

TOP

发新话题