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

Asier Arranz asierarranz en gmail.com
Mie Abr 30 10:21:39 CEST 2008


¿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> 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
> https://listas.deusto.es/mailman/listinfo/eside-ghost
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: https://listas.deusto.es/mailman/private/eside-ghost/attachments/20080430/3c0c58d1/attachment.htm


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