有没有办法完全禁用 pixman
Posted
技术标签:
【中文标题】有没有办法完全禁用 pixman【英文标题】:is there a way to disable pixman completely 【发布时间】:2012-09-24 05:59:37 【问题描述】:我在我的手臂目标上安装了 pixman,为了进行基准测试,我想完全禁用 pixman(如果可能的话!)。有没有办法很好地做到这一点而无需实际删除它。
我知道 PIXMAN_DISABLE 标志,但这会完全关闭它还是只是它的工作方式会改变(比如打开或关闭 sse2)?
【问题讨论】:
您的基准到底是什么?您说您启用了 X11- 和 egl-backend,但是您的代码使用的是哪个后端?它在画什么? 我有一个 clutter-box2d 应用程序,我想在 ARM 目标上检查有无 GPU 加速的 FPS。 pixman 给了我没有 GPU 的部分。现在我想知道如何获得“with GPU”部分。后端是指编译期间在 clutter/cogl 中选择的配置选项。 clutter 提供了 enable-egl-backend 和 enable-x11-backend 的选项。我在执行 ./configure 时设置了这两个标志。现在,看起来 pixman 正在使用 30% 的 CPU 并且应用程序运行缓慢(使用 Oprofile 进行分析)。所以应用程序永远不会用到 GPU,对吧?(它是一个简单的应用程序绘制图像) 【参考方案1】:Cairo 将 pixman 用于后端无法自行绘制的所有内容,以及图像后端绘制的所有内容。所以没有办法禁用它。
【讨论】:
我同时启用了 X11-backend 和 egl-backend。但是 pixman 大部分时间都在使用(30% 的 CPU 时间)。我试图理解它!这是否表明 GPU 根本没有被使用? Cairo 和 X11-server 也使用 pixman 进行后备绘图。因此,如果 cairo 经常使用 pixman,那么您正在绘制无法用 X11/egl 表达的东西。如果服务器使用 pixman,那么您正在绘制图形驱动程序在硬件中无法完成的事情。以上是关于有没有办法完全禁用 pixman的主要内容,如果未能解决你的问题,请参考以下文章