我有一个简单的 clutter-box2d 应用程序(用 C 编写),它显示了一些掉落的图像。它在我的arm目标(ARMv7)上运行非常慢,Oprofile显示以下消耗大量CPU
libpixman-1.so.0.24.4
我该如何解决这个问题,我启用了 EGL 和 X11 后端,但仍然以某种方式使用 pixman(开罗图像后端使用 pixman 库作为软件光栅器。),并且应用程序渲染速度很慢。
如何才能为我的 clutter-box2d 应用程序获得 GPU 加速。有人遇到过类似的问题吗?
对于 ARM 使用的配置选项是
CLUTTER
./configure --build=i686-linux --host=armv7-none-linux-gnueabi
CC=armv7-none-linux-gnueabi-gcc
CXX=armv7-none-linux-gnueabi-g++
AR=armv7-none-linux-gnueabi-ar
RANLIB=armv7-none-linux-gnueabi-ranlib
--disable-glibtest --with-x --disable-rpath --enable-xinput=no
--enable-shared --enable-deprecated=no --enable-egl-backend=yes
--enable-x11-backend=yes --prefix=/home/XYZ/install_all
CLUTTER-BOX2D
./configure --build=i686-linux --host=armv7-none-linux-gnueabi
CC=armv7-none-linux-gnueabi-gcc
CXX=armv7-none-linux-gnueabi-g++
AR=armv7-none-linux-gnueabi-ar
RANLIB=armv7-none-linux-gnueabi-ranlib
--enable-shared --enable-introspection=no
--prefix=/home/XYZ/install_all
COGL
./configure --build=i686-linux --host=armv7-none-linux-gnueabi
CC=armv7-none-linux-gnueabi-gcc
CXX=armv7-none-linux-gnueabi-g++
--prefix=/home/XYZ/install_all --enable-gl=no --enable-gles2=yes
--enable-xlib-egl-platform=yes --disable-rpath
JSON-GLIB
./configure --host=armv7-none-linux-gnueabi
CC=armv7-none-linux-gnueabi-gcc
CXX=armv7-none-linux-gnueabi-g++
--enable-introspection=no --disable-glibtest
--prefix=/home/XYZ/install_all
LIB-PNG
./configure --build=i686-linux --host=armv7-none-linux-gnueabi
CC=armv7-none-linux-gnueabi-gcc
CXX=armv7-none-linux-gnueabi-g++
--prefix=/home/XYZ/install_all
最佳答案
Clutter 内部不使用 Cairo。 Clutter-Box2D 仅更新参与者的位置以匹配内部计算的世界。
您是否使用 Cairo 来绘制 Box2D 世界中 Actor 的内容?
您是否正在重新绘制每一帧的内容?
如果这些问题都没有得到肯定的答案,您是否确定您的平台支持 GL 或 GLES 驱动程序?
关于c - pixman 和 clutter box2d 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12476656/