<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
近来因为开发的原因,需要在多线程下使用Ogre,就对此进行了考察,这里简单的介绍一下如何正常的编译多线程版本的Ogre。
近来因为开发的原因,需要在多线程下使用Ogre,就对此进行了考察,这里简单的介绍一下如何正常的编译多线程版本的Ogre。
首先需要说明一点,Ogre对多线程的支持,其目的并不是为了提高渲染效率,毕竟对于以GPU为主的实时渲染而言,CPU负载的并行并不会带来什么实质的改善;更多的则是出于保证其在需要平衡CPU与GPU负载的多线程应用中的线程安全性考虑,比如在驱动与渲染线程间共享视点数据或对象的运动数据,以及资源的后台加载等等。所以,更确切的说,Ogre实现的线程同步,而非多线程渲染。
Ogre可以通过多种方式实现对多线程的支持,例如通过增加Layer或插件的方式实现,具体的可以参考Jeff Andrews的《Threading the OGRE3D Render System》,而其中最直接的方法就是由Ogre Main直接实现。这里就针对这种方法,介绍一下如何在多线程下正常编译与运行Ogre应用。</