[eside-ghost] extensiones C/C++ para Python

altern altern2 en gmail.com
Mie Abr 30 10:27:16 CEST 2008


si, uso pygame con pyopengl asi que es lo mas rapido que hay en python. 
tb le tengo metido en psyco a ver si me acelera un poco pero casi ni se 
nota.

Asier Arranz(e)k dio:
> ¿Has probado el módulo pyGame?
> Puede que te sirva para lo que estás haciendo.
> 
> El día 30/04/08, *Alfredo Beaumont* <alfredo.beaumont en gmail.com 
> <mailto:alfredo.beaumont en gmail.com>> escribió:
> 
>     Az, 2008eko Apiren 30a(e)an, altern(e)k idatzi zuen:
> 
>      > aupa gente
>      >
>      > una pregunta un poco vaga para los programadores... como de dificil
>      > pensais que es para una persona que no hay usado nunca C/C++ pero
>     que se
>      > maneja bien con Python, hacer extensiones en C/C++ para python?
> 
> 
>     Bueno, yo diría que tiene una complejidad 'moderada'. No es trivial,
>     pero
>     bueno, si hay que hacerlo tampoco es que sea excesivamente
>     complicado. Si no
>     has programado en C/C++ probablemente lo que más te cueste es la
>     parte que
>     tengas que hacer en ese lenguaje, sobre todo si necesitas que sea
>     eficiente.
> 
> 
>      > el tema es que tengo un proyecto de investigacion que lleva
>     graficos en
>      > PyOpenGl en 2D pero necesito que sea mucho mas optimizado. Le he dado
>      > muchas vueltas y creo que la unica solucion es portar alguna zona
>     de la
>      > libreria (o puede que entera), como una extension que pueda ser
>      > controlada desde python. Esto me da un poco de panico pq no tengo ni
>      > idea de lo complejo que esto pueda ser y no se si puede haber alguna
>      > otra opcion.
>      >
>      > el problema es que necesito renderizar unos 100 de objetos que se
>     mueven
>      > cada frame, pero a la vez el consumo de CPU tiene que ser muy
>     bajo (max
>      > 10-15%) actualmente en cuanto meto mas de 25 objetos se me dispara
>      > aunque le limite el fps al minimo.
> 
> 
>     Yo lo que haría, antes de embarcarme en la aventura de reescribir
>     parte del
>     código en C/C++ es _saber_ a qué se debe ese consumo de CPU. Es decir,
>     tendrás que 'profile'ar tu aplicación y detectar los cuellos de
>     botella. Es
>     posible que esos cuellos de botella no estén donde piensas que van a
>     estar
>     (aunque bueno, si es renderizado de gráficos... es probable que esté
>     donde
>     piensas), y también cuál es la mejor forma de resolverlo, hay varias
>     opciones:
>       * Que el problema se pueda resolver desde python optimizando el
>     algoritmo
>       * Que haya que migrar el algoritmo a C/C++ para resolver el problema
>       * Que ni siquiera migrando a C/C++ vayas a obtener el rendimiento que
>     esperas.
> 
>     En resumen, no te lances a la aventura 'a ciegas', primero invierte
>     algo de
>     tiempo en ver qué es lo más conveniente.
> 
>     Saludos
> 
>     --
>     Alfredo Beaumont Sainz
>     http://www.alfredobeaumont.org/blog.cgi
> 
>     _______________________________________________
>     eside-ghost mailing list
>     eside-ghost en deusto.es <mailto:eside-ghost en deusto.es>
>     https://listas.deusto.es/mailman/listinfo/eside-ghost
> 
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> eside-ghost mailing list
> eside-ghost en deusto.es
> https://listas.deusto.es/mailman/listinfo/eside-ghost



Más información sobre la lista de distribución eside-ghost