iPhone OpenGL Speed Tip

Xcode Thumb

Turn off thumb compilation in XCode for ARMv6, but turn it on for ARMv7.

  • Thumb compiling creates smaller compiled sizes at the threat to floating point math
  • Thumb code is MUCH slower than the non-thumb code
  • Instructions to change this setting on a project

Want to boost your iPhone OpenGL app’s framerate with one checkbox?  It’s easy; turn off Thumb instructions .

What are Thumb instructions?

The iPhone uses the ARM 1176JZ processor , and Thumb instructions are 16-bit versions of common 32-bit ARM instructions .  By default, your Xcode project will compile with Thumb instructions .

Why use Thumb instructions?

On embedded systems like the iPhone (or any system, really, but here especially), you have to think about the space your app uses.  Smaller instructions mean smaller code in memory and on disk.  That’s a good thing!  However, there’s a trade-off: performance .

According to Apple , the cost comes from floating-point operations.   Ripping out the GLfloats from your app isn’t the way to go, so let’s learn a better way.

How do I turn off Thumb instructions?

Here’s what to do in Xcode:

1. Open your project
2. Choose Project -> Edit Project Settings
3. In the Project Info window, choose the Build tab
4. In the search box, type “thumb
5. You should see a “Compile for Thumb ” setting.  Uncheck it. (Click image to enlarge.)

 

That’s it!  If you don’t have the setting, make sure the Active SDK is set to Device .  The setting isn’t applicable to the Simulator .

What kind of frame rate boost will I see?

I had improvements of around 20, 30, and 50%.  Hopefully you will see even bigger ones!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值