Mac OS X系统架构:图形、窗口、打印及其他服务解析
1. 图形与窗口环境
在Mac OS X系统中,窗口服务器对其他系统服务和库的依赖较少。它主要依靠内核环境的I/O Kit(特别是基于I/O Kit构建的设备驱动程序)来与帧缓冲区、输入基础设施以及输入输出设备进行通信。同时,它还会与Core Services中的某些框架进行链接,以获取诸如基本进程激活等进程管理服务。
窗口服务器的主要职责之一是窗口合成。当应用程序的窗口被绘制、重绘、覆盖或显示时,窗口服务器会对窗口的每个像素进行合成和重新合成。每个窗口都以包含半透明(alpha通道)和抗锯齿信息的位图形式表示。这种位图经过缓冲处理,使得窗口服务器能够“记住”应用程序的窗口内容,并在无需应用程序参与的情况下重新合成窗口。不过,Quartz不会保留图形库(如它自己的Core Graphics Rendering)在创建窗口或其他图像时可能使用的矢量信息。
在其Core Graphics Services组件中,Quartz将窗口系统建模为分层合成引擎。传统的窗口系统采用“切换”模型,屏幕上的每个像素完全属于一个窗口(或桌面)。因此,状态转换必然是突然的,例如关闭窗口时,它会立即消失。而分层合成窗口系统基于“视频混合器”模型,屏幕上的每个像素(特别是在半透明和抗锯齿属性方面)可以在多个窗口之间实时共享。这种模型允许图形用户界面的状态之间实现平滑过渡,这也是Aqua体验的显著特征之一。
2. Core Graphics Rendering
Quartz的Core Graphics Rendering部分是一个具有矢量特性的图形库。其API允许通过指定一系列命令和数学语句来创建文本和图像
超级会员免费看
订阅专栏 解锁全文
13

被折叠的 条评论
为什么被折叠?



