He estado practicando mi python y como ejercicio escribí una mini simulación de física que pygame dibuja. La geometría de las figuras, sus rotaciones y la física las escribí de 0. Funciona a puro cpu. Llega como a los 500 polígonos antes que se le caigan los fps.
Se les ocurre alguna forma de mejorar esto sin salirme de python ni entrar en el temible mundo de los shaders / c++ / rust? O estoy cagado?
Está cool, habría que ver el código para sugerir mejoras yo creo. No sé de pygame específicamente. Quizá ver si puede opcionalmente correr de gpu también?
Gracias! Por lo que leí, pa usar el gpu hay que meterse en opengl, directx, o usar shaders o cython, todas las cuales se escapan de mis capacidades actuales. Hay algunos módulos como cupy de nvidia que te permiten usar el gpu pero sólo sirven si tienes muuucho que renderear al mismo tiempo. Si no, el tiempo de trasladar cosas chicas del cpu al gpu y de vuelta hace que sea más lento.
He estado practicando mi python y como ejercicio escribí una mini simulación de física que pygame dibuja. La geometría de las figuras, sus rotaciones y la física las escribí de 0. Funciona a puro cpu. Llega como a los 500 polígonos antes que se le caigan los fps.
Se les ocurre alguna forma de mejorar esto sin salirme de python ni entrar en el temible mundo de los shaders / c++ / rust? O estoy cagado?
Acá está la tonterita que hice.
Está cool, habría que ver el código para sugerir mejoras yo creo. No sé de pygame específicamente. Quizá ver si puede opcionalmente correr de gpu también?
Gracias! Por lo que leí, pa usar el gpu hay que meterse en opengl, directx, o usar shaders o cython, todas las cuales se escapan de mis capacidades actuales. Hay algunos módulos como cupy de nvidia que te permiten usar el gpu pero sólo sirven si tienes muuucho que renderear al mismo tiempo. Si no, el tiempo de trasladar cosas chicas del cpu al gpu y de vuelta hace que sea más lento.
Como estaba frustrado, implementé órbitas.