Okay, you’re right. That’s because I wanted to do it without adding more java<=>c communication so I didn’t have any reliable info about an actual cursor position and had to guess sometimes. I changed it to get the cursor directly from SDL an it works substantially better. Still can go offscreen though; not sure if I can limit it to actual game bounds.
The only things I changed there is clearing screen + displaying progressbar. Definitely nothing that could affect the loading speed.
I’m not sure about the sound because I always have it turned off. If it was there previously, it should still be there.
Okay, so the short answer is “it’s complicated”. I could probably get away with building only one package. I’m not sure about some details but generally:
- android device can have one of 5 architectures (arm, arm-v7a, arm64-v8a, x86, x86_64); 64-bit ones require api21 (android 5.0+) and I think x86 needs api18 (android 4.3+),
- all arm-based archs should work “normally” with applications built for normal arm, but x86-based devices will probably not,
- I assume when the arch doesn’t match, the performance is works becuse there needs to be some translations,
- running arm application on 64-bit device is probably the similar case as running 32bit applications on 64bit pc (slower, more limited, but usually not really noticable).
Currently the api16 package contains only arm arch and api21 contains all 5.
Because, for some reason, the apk file has no compression. I assume this is some kind of bug in android build system, because I can’t see any settings to change it and previously it was compressed normally. You can test this by unpacking the apk file (it’s just a zip) – both packages have ~313MB after unpacking.
Actually… never mind. That’s definitely not possible, because the screen follows the hero during movement.