我有一个基于框架的应用程序。
这是一个拼图拼图游戏,它基本上把一个像素图切成更小的像素图(拼图),并将它们作为QGraphicsItem
s显示在QGraphicsView
中。我希望这个应用程序能在智能手机和平板电脑上运行。(它已经在诺基亚N900和一些塞班手机上运行。尚未为Symbian^3进行优化。)
来源是论凯特立功。
这些项继承了QGraphicsItem
和QObject
,并具有用于QGraphicsItem
的pos()
和rotation()
的Q_PROPERTY
宏,以便能够使用Qt动画框架对它们进行动画化。
我对项目执行转换,例如缩放和旋转(后者仅在开发中的多点触摸分支中),我还对它们使用QGraphicsDropShadowEffect
。
我使用QGLWidget
作为QGraphicsView
的视口,以便为应用程序启用OpenGL加速。
问题是,尽管被OpenGL加速了,但这个应用程序一点也不流畅。(尤其是动画,尤其是自从我将旋转转换添加到多点触摸分支之后。)显示的图形项目不多,也没有任何3D操作或任何严肃的东西,只有2D绘图。
我根本不是一个图形专家,所以我不知道为什么这个应用程序运行缓慢。我见过其他的游戏,有很多更复杂的效果运行比这更顺利。
秘密是什么?我如何优化这个应用程序?
发布于 2011-10-11 17:10:50
根据我自己的经验,QGraphicsItem中的图形效果确实是内存和计算量很大。如果在动画转换期间使用它们,可能是问题所在。你应该把它们摘下来,看看它有多流畅,然后尝试实现你自己的效果。
https://stackoverflow.com/questions/7724950
复制相似问题