I'm almost finished my application but I'm facing problem with iPhone 4S: performance. During the configuration part my application needs to load about 81 nodes and perform some cycle operation and I noticed that on my iPhone 4S the fps low to 12.4 out of 60.0.
I'm using texture atlas for handle my images but this doesn't seem enough. Do you have any advices for me? Maybe create a preloading SKScene in the middle? Load all of the texture atlas in a singleton class before launching the Main Menu?
Note: I'm using Xcode 7.1 with SpriteKit framework.
Related
When the ARWorldMap file is big (20mb++), the AR in the screen becomes very lag even in iPhone 12 Pro Max that have a LIDAR camera. In the non-LIDAR, it automatically crashes. Do you have any insight on this? What should I do to optimize this issue?
So i've found a lot of threads regarding the change in fps to 30 while testing on simulators inside the computer, but I haven't found any threads explaining why an iPhone 6 can run a game at 60fps but then an iPhone 5 runs the same game at 30fps. I am testing on actual devices not simulators and this problem is occuring. Im running into this issue while using Xcode 6 and SpriteKit. Any help would be great.
Thanks,
Chris
We developing an app for iOS with Unity (Basic version).
On iPhone 4 we have low fps.
We want to use non-retina 320*480 screen size on iPhone 4 (and render buffer 320*480).
We think that will increase performance on iPhone 4.
We know how to do this in iOS app through code (as for example shown here openGL ES retina support).
How can we do this through Unity?
Are there any ways?
Open Unity3d and go to Player Setting of iOS:
Setting for iOS > Other Setting > Target Resolution > Select 320(iPhone).
If your app is not using Accelerometer then Disable Accelerometer Frequency.
Also in Optimisation : Script Call Optimization = Fast but no Exception.
I recently ported a project from Cocos2d 1.1 to 2.0. So far everything is working great, but I've noticed that the frame rate drops from 60 fps to around 40-50 fps on the iPhone 4 and the iPod Touch 4. Other devices I have tried (iPads 1 & 3, iPhone 4s) still run at 60.
At first I thought I had too many draw calls, but after reducing the calls from 54 to 17, I still had the same fps on both devices. I should note that I don't have this problem on the default Hello World template, nor do I have any openGL errors in the console. My memory footprint is around 50mb, so I don't think that's the problem either. Any ideas?
Looks like you have a simple performance problem. The other devices running at 60 fps (at least iPad 3 and iPhone 4S) have more computing power and better graphics processors than the iPhone 4 and iPod Touch 4.
Since this happened after upgrading from cocos2d 1.1 to 2.0, there's the possibility that the 4th generation iPhone devices don't run OpenGL ES 2.0 code (shaders) as fast as the other devices. It could also be an issue with cocos2d 2.0 itself. Unless you really need to use a feature of cocos2d 2.0 (ie shaders) the easiest approach would be to simply go back to cocos2d 1.1. If you aren't writing shaders, cocos2d v1.1 is just the same as 2.0 in terms of features (at this point in time).
Finally, test performance only with release builds. If you run Debug builds things like logging and assertions can totally skew any performance results.
I am developing an app which plays interactive real time streaming video. I use FFMPEG (don't worry, I'll be releasing my source code) to decode a MPEG2/H264 RTP stream. I simply cannot get the iPhone 3G to draw a screen full of pixels faster than 5 times per second.
I've tried a OpenGL texture which was just a slow. I've also tried an array of 2D vertexes covering the entire screen and using glDrawArrays but that yielded 5 FPS as well. For now I've stuck to simply drawing a CGImage onto my view which gives me about 7-8 FPS.
From what I gathered, the private CoreSurface framework seems to be the only way. Anyone have any tips or tricks to get at least 20-30 FPS? I'd hate to restrict my app to only the 3GS and iPod touches.
Thanks,
Andrew
If you want to play H.264 and MPEG2 video on the iPhone, why are you doing the decoding yourself? What do you need that MPMoviePlayer doesn't cover?
If you are decoding in software, you're never going to get a good frame rate. Even on faster hardware (iPhone 3GS and 2nd/3rd gen iPod touches), you're going to drain the battery very quickly.