我有一个简单的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
答案 0 :(得分:1)
Clutter内部不使用Cairo。 Clutter-Box2D仅更新actor的位置以匹配内部计算的世界。
您是否正在使用Cairo绘制Box2D世界中演员的内容?
您是否正在重绘每一帧的内容?
如果这两个问题都没有肯定答案,您是否确定您的平台支持GL或GLES驱动程序?