Stackoverflowに参加している何人かの人々のおかげで、ようやくcythonが機能するようになりましたが、今は問題があります。cdefを使用しない場合からcdefを使用する場合まで、実際には速度の向上はありません。誤解しないでください。cythonを使用してPythonコードをコンパイルすると、非常に顕著な速度の向上が見られましたが、cdefを使用するとそれほどではありません。
これは、プログラムの残りの部分を遅くしていたコードの領域です。
def tupdate(self,surf):
cdef int x
cdef int y
for x in xrange(self.w):
for y in xrange(self.h):
if self.map[(x,y)].y <= 600 and self.map[(x,y)].y >= -50: self.map[(x,y)].FLAG = 1
else: self.map[(x,y)].FLAG = 0
self.map[(x,y)].y += self.speed
if self.map[(x,y)].FLAG:
self.map[(x,y)].rect = ((self.map[(x,y)].x,self.map[(x,y)].y),(50,25))
self.map[(x,y)].update()
self.map[(x,y)].render(surf)
このコードは1秒間に60回呼び出されるはずですが、コードの速度と古いハードウェアは1秒間に約30回しか呼び出されないため、xやyなどの頻繁に使用される変数にcdefを使用すると役立つと考えました。ただし、fpsはcdefの前後で同じです。
私は32ビットのPython2.7を使用してWindows764ビットを使用しています