I do not know how the game performs on newer devices, but i do know how it performs on my iphone 3gs.
Lag reproduction example:
- rebooting the phone, making sure nothing is running
- starting the game
- starting to sacrifice cards
- for each sacrifice, the game will get increasingly sluggish, most noticeable on the sacrifice result animation (fps goes from super smooth on the first sacrifice and down) as well as the card listing updates
- if i keep sacrificing, the game will end up either going so low in performance that it eventually crashes, or, sometimes it will (or my phone, i do not know) seem to do an internal garbage collection and performance will be that of when starting the game. And the cycle will continue.
Syncronisation issues (time vs frame played):
- This is most noticeable during battle, as the battle timer will be completely off. Each update of the seconds on the timer can take as long as 10 seconds to update.
- It seems that the battle screen animations (timer included) is tied to assuming a fixed amount of frames per second rather than taking the actual time into consideration and skipping frames
Immortalis is basically a browser game, and as such it should not suffer from the above issues.
I noticed this too. I have both an iPhone4 (running on iOS 6) and iPad2 (running on iOS 5) with Immortalis installed on both, and while my iPad is has no lag or timer issues, my iPhone normally ends up being slower by 2-3 seconds (up to 10~20 seconds even, during battle). Even during questing, the iPad plays animation more quickly than the iPhone does. not sure if it's a lag/memory thing or what, I'm not very familiar with the technical stuff.
If i were to take a guess, it would be that battles run much like a flash animation or similar, with the ability to execute script on each frame (or sets of frames).
Let us assume that the battle screen is an animation that is supposed to run 20 frames per second and the first of these frames update the battle timer. On a device which is capable of playing these 20 frames within an actual second as it is supposed to, it runs flawlessly. However, on a device that is only capable of playing 10 frames each second, the timer will only update every 2 seconds.
Now, if the timer update was updating using a server clock, it would still be accurate, although behind on the updates. However, if the timer only decrements by one each time the animation hits frame 1, then time will appear to flow at half speed.
Now imagine similar checks for battle updates being tied to frames, and you can quickly imagine why battlescenes play so differently depending on device and speed.
This is ofcourse just a guess, but it does seem that apart from the poor performance of the animations in general, key functions of the game are tied to frames rather than time.