擅长:python、mysql、java
<p>我是<a href="http://ignifuga.org">Ignifuga Game Engine</a>的开发人员,它面向2D,基于Python/Cython/SDL。我通常做的是用Python开发代码,然后分析引擎,看看是否存在一些明显的瓶颈(主循环、呈现代码是很好的候选者),然后将这些模块转换为Cython。然后,我通过Cython运行所有代码(基于Python和Cython),并针对SDL进行静态编译。
Cython的另一个大“优点”是绑定到SDL或任何基于C的库几乎是微不足道的。
关于线程,引擎目前是单线程的,通过<a href="http://pypi.python.org/pypi/greenlet">Greenlets</a>协同执行多任务,尽管这来自于一个设计决策,以减轻未经经验的开发人员可能会陷入的潜在多线程陷阱,而不是对Cython部分的限制。</p>