ok, I’ll put this out here, as Ive been doing a bit of research, but interested if others have any solid ideas.
python+pygame is great, its easy to program … and wont crash and burn if you type in bad code (like C++ )
important note given the above, the rest is about ‘other options’ for some people, i think python/pygame is great for ease of use/majority.
BUT, its not the most efficient… which on a platform with limited resources is pretty important, and also for some reason (which im not 100% clear on) , doesn’t seem to have much hardware acceleration.
why? change? what am i after?
well I want to free up some cpu, so as to get more available for audio processing e.g. more sample, ffts so we can do frequency effect changes.
one option is simply re-evaluating how to use pygame e.g. for some use cases, using sprites and minimising redraw area could bring huge improvements.
but what alternatives are there? related tech?
- pypy - http://pypy.org, basically a JIT for python
- pygame_sdl2 - this is a wrapper around sdl2
- pygame_cffi - uses cffi to get C implmention, useful with pypy
ditch pygame, and just go to sdl2 with python/pypy?
Ive looked at each for these in turn and all seem useful, but its really unclear which are stable , and which are just ‘development projects’ that might never come out of beta
going further a field… goals/requirements
- this graphics programming is a bit of fun for me, so I don’t want to have to spend hours writing and debugging a single mode.
- it has to some how support audio input
- has to be much better performance that pygame/python - otherwise on real reason to switch
- needs to run full screen
- use any available hardware acceleration (preferably, without coding ;))
- I suspect it needs either to be generative native code, or using JIT , to get performance we need.
- C++ and a gaming engine…
something like unity?
Id have to invest some time working out what can be used that is high level that ‘productivity’ is maximised.
- Java (possibly with an game engine?)
allows dynamic loading, easy to code, not sure about its graphics performance
not sure on its performance, or compatibility
- pure data, nope , not efficient enough.
are there any other options to consider?
if it runs on a raspberry PI, then this might give an indication its possible on the ETC/Organelle.