Alien vs Predator Port


Hmm, maybe an OpenAL issue, I've just put a new build down (1.0.0.6), tried the PND and it works for me. Be interested in the output you get if this latest build doesn't work.
 
Did you include the newer openal lib now?
There should be no need to compile it with it. Just replace the libs in the pnd.
 
Pretty sure the latest OpenAL lib causes a runtime error, I will probably look at upgrading my toolchain though to see if that fixes it so I can link properly.
 
Latest Code Sourcey tool chain doesn't seem to make any difference. I guess it is (as you already said) the actual lib that would need to be compiled against a closer toolchain to mine to be able to link against it.
 
You could just try to compile openal yourself.


Or ptitsebt could try in his codeblocks on pandora.


Also you could try to add -lgcc to your linker command.


Might work as this is an inlined function of gcc.


Edit: I built that lib on the Pandora now and it seems to work. Will upload for you when I get to a PC :)
 
Last edited by a moderator:
Is this the 1.15 version?


I built that with your pnd. Attached in previous post.
 
Could a mod split this driver GHz talk to make this thread readable again please?
 
Thanks, I can confirm that getting the latest Code Sourcery tool chain did not fix the linking error, however your updated library did (I used the Mcobit one). Upon launching I received a new error:

./AvpMP: /lib/libm.so.6: version 'GLIBC_2.15' not found (required by ./AvpMP)
But I resolved this by packaging up libm.so.6 from my tool chain into the PND libs folder, along with the OpenAL lib. I can also confirm that performance is better with this new OpenAL library. I have made a few performance optimizations now including making the maths functions inline, fixing the badly aligned memory accesses (I hope this is resolved anyway) and building with O2 (also got -funroll-loops although I haven't done any tests to see what wins out with Os O2 O3 etc.)

New version is 1.0.0.7 and can be found here http://repo.openpandora.org/?page=detail&app=com.pawprintgames.avp

I attempted to NEONize TranslatePoint but I wasn't successful (only did a very quick attempt) but having a look at NEONizing maybe the next most obvious optimization.

Also, I wonder if I am going mad here, but I feel like the frame rate feels even worse than it is, because it feels like the controls have a lag to them? Like I push the stick to move and then it moves a few frames after. Does anyone else notice this?

Finally, does anyone know if Notaz's SDL would give an improvement for this game? Or is it that only designed to improve applications that use SDL to render?
 
Last edited by a moderator:
Did you try the qos script in my sig?  Fixes up the Pandora wifi nicely for me.

Yes but it doesn't help for me. My understanding is that script helps to improve throughput under certain conditions, but the issue I face is after a while, normally 5-10 minutes the Wifi disconnects and then will not reconnect (it keeps asking for password but never manages to connect). On top of this, it sometimes stopping the router responding so that needs to be reset too.

The only reason I was able to make progress with this build on the weekend is I did find a way to get a pretty reliable Wifi connection on my Pandora... I used my BlackBerry Q10 phone to create a Wifi Access Hotspot (or whatever it is called) and connected to that, and the connection was pretty reliable (disconnected once or twice but connected back straight away). Not sure if it made any difference but I had no password on the hot spot or any security (on the Q10 you can choose when devices are allowed to connect, so I allowed connections, connected, and then disallowed connections to stop any unwanted guests joining). Transferring files via WinSCP I was getting transfer speeds of around 900 KB/s, so whilst not mind blowing, it beat the previous 100-200 KB/s I previously got with the on-board Wifi.

I am hoping to receive my Wifi dongle tomorrow which will hopefully sort all my issues out. Makes life 10X easier to be able to reliable SCP/SSH into the Pandora for developing!

Steam version/data is also working. My 1 ghz unit has pretty bad graphical issues but I attribute this to the driver, since i other games with the same odd behaviors.
Thank you for letting me know, just updated the descriptions in the PND to reflect this (won't be visible on the repository until the next build).
 
Could a mod split this driver GHz talk to make this thread readable again please?
Split the 1Ghz "talk" into its own thread..
 
Last edited by a moderator:
On preliminary profiler run I can see lots of time spent in OpanAL lib, where did this lib/libopenal.so.1 come from? it seems to be horribly slow and desperately needs optimization.
Fixed.
FloatToInt() is an abomination, kill it with fire! They were doing real horrible workarounds for that WATCOM compiler. Just change f2i macro to this:

#define f2i(a, b ) a = (int)b
Fixed. 
Something is generating alignment faults (23167777 faults after 30s test), this is real bad, needs to be tracked down and fixed.
I believe this is fixed. I was getting SIGBUS faults in optimised builds which were due to alignment errors. Tracked this back to the memory manager that AvP uses not dishing out to any set alignment. Made it align to 4 byte boundary which fixed the crash. I then tried the echo command you suggested to track down further alignment errors but I didn't get anything flagged.
Then there is this TranslatePoint() which could be NEONized.

Quite a lot of optimization potential for this game.
I will look more into this, if anyone has any NEON snippets replacements for any of the functions I am happy to paste them into the code and make new builds. Worth mentioning a lot of the functions are working on 3 component vectors and 3x3 matrices.
 
Last edited by a moderator:
The input lag is not that big imho, but if you need to make quick turnarounds or aim precisely it shows...


Did you have a look at top again? Maybe cpuusage is down now and now the graphics limit it?


It is still laggy and slow when big rooms are shown. Although lowering the graphicsdetail doesn't seem to help in any way.


Keep up the good work! We are almost there. :)


Edit: Notaz SDL has a hardwarescaler and some 2d blitting optimisations. I don't think it will be of big help here.


The scaler doesn't work for GL apps anyway afaik.


Could you try if it is faster if you render to 400x240 and upscale?


Edit2: Could you have a look at why a nub in joystickmode isn't recognized by the game?
 
Last edited by a moderator:
Last edited by a moderator:
One more thing to try is to use SGX in framebuffer mode (see above link) and put a file named powervr.ini in root of .pnd with this content:

Code:
[default]
WindowSystem=libpvrPVR2D_FLIPWSEGL.so
This should allow SGX to draw directly to fb, which might make it faster.
 
Back
Top