最近做RRT规划算法,在新建工程中测试时,每一个周期大概花费20MS,但是当我把算法移植到之前写的工程模板中时,计算效率相当低,变为500毫秒。期初是以为代码有问题,然后就逐句查找,发现代码并没有问题,难道是我的模板有问题?
我的模板中有三个线程,而新建的RRT只有一个线程。所以我又把用于显示和消息传递的线程都关掉,遗憾的是并没有解决问题。现在代码基本完全一样了。唯一不一样的是cmakelists和xml文件。然后我又把cmakelist改一样,发现问题解决了。
这是由于之前工程调用了很多OPENGL的库,这次添加代码的时候并没有去修改cmakelist中底层库调用,所以造成的大的问题。在此记录下来,防止后面再次遇到。