macfun 发表于 2012-3-25 13:49

关于硬件加速及QE/CI深入讨论

什么是硬件加速, 什么是QE/CI,一开始我也觉得这两个是一样东西, 只要开了硬件加速, 就开启了QE/CI, 其实, 这完全是两个不同的东东,硬件加速依赖设备驱动, 是OpenGL的直接调用, 而QE/CI 是apple 在opengl 基础上,为OS X 开发的一个cocoa 框架环境中的图形函数库,QE/CI 调用的是cocoa 的kCG (coreGraphic) 核心图形库函数, 而kCG 是OS X 的底层图形函数, kCG 是调用OpenGL 来完成的,所以硬件加速虽然成功了, 但是QE/CI 却不一定能开启.
    我们再来看一下在驱动程序上, 他们的结构,这里以我的ATI 6850 为例, 硬件加速调用ATI6000Controller.kext 内核扩展包, 而QE/CI 调用ATIRadeonX3000.kext 内和扩展包. 这也是为什么明明正确识别了显卡, 但是却开不了QE/CI, 然而却在驱动上原地打转转, 得不到根本解决QE/CI 的主要原因.

    根据A卡的系类不同, 又分为ATIRadeonX1000.kext, ATIRadeonX2000.kext, ATIRadeonX3000.kext 三代QE驱动扩展包, 如比较早期 ATI 3800 系列或者更早的系列, 使用的是X1000内核扩展包, ATI 4600 和 4800 , 使用的X2000扩展包, 从ATI5000和ATI6000使用的X3000.kext 扩展包,这些可以在成功驱动并且开了QE/CI后, 在ioregisterExplorer找到对应关系. 或者在终端下我们使用ioreg 命令来查看
   ioreg | grep ATI | less
列表里我们可以看到 ATI4800Controller 和ATIRadeonX2000的字样, 说明4800的驱动是和X2000配备的,
如果你只显示出来ATI4800Controller,而看不到ATIRadeonX?000 的结构在里面, 说明你的显卡已经驱动成功,而QE/CI 没有驱动成功,
页: [1]
查看完整版本: 关于硬件加速及QE/CI深入讨论