Ezen lehetne még egyszerűsíteni, a szűrők például törölhetők (egy "DC block" maradhat, nagyobb frekvenciára állítva), és - rossz minőségű, de telefonra talán elfogadható hang árán - az interpolációt is teljesen el lehet hagyni.
Ez valóban így van, de ha a lejátszás bekapcsolása nélkül is, az bug.
Le lehet még fordítani asztali Linux rendszerre ? Ha igen, akkor megnézhetném, mi a probléma.
Elvileg tud menni desktopon egyelőre azokat az SDL osztályokat használja amit Te írtál,
főleg az OpenGL-t irogattam át (gldisp.cpp), hogy menjen OpenGL ES-en de az új kód elméletileg sima OpenGL kompatibilis.
Tettem egy fps countert az SDL main loopjába ami stabil 60-at mutat iPad-en a következő esetekben:
- csak az emuláció fut vm-run(2000) (nincs demo futtatás, nincs rajzolás és nincs hang)
- fut az emuláció vm-run(2000) + fut a batman.demo (nincs rajzolás és nincs hang)
- fut az emuláció vm-run(2000) + fut a batman.demo + hang is van de az akadozik (nincs rajzolás)
És akkor kezd el akadozni az dolog, ha bekerül a
checkEvent a képbe a rajzolással együtt!!!
void SDLGLDisplay::draw()
{
if (checkEvents()) {
OpenGLDisplay::draw();
SDL_GL_SwapBuffers();
}
}
A kódot később összeszedem és kiteszem ide, most eléggé összevissza van még!