For 2 reasons:
# Auto-scale feature may consume a little CPU & GPU resources in engine internal
# The key point is “pixels per second” limit of GPU.
There’re 3 key parameters of each GPU:
* triangles per second
* pixels per second
* shader instance per second
Let’s take HTC G7 as a sample. G6 uses Qualcomm QSD8250 chipset, integrated Adreno 200 GPU, whose parameter is: 22M triangles/sec, 1330M pixels/sec, 166M shader inst/sec.
When you uses 480x320 images on 800x480 screen without auto-scale feature, the GPU must render 480x320=153,600 pixels per frame. So if we don’t consider OpenGL ES calculations in GPU & CPU, it can renders 8658 frames/sec. While you enable the auto-scale of cocos2d-x, it must render 720x480=345,600 pixels. Adreno 200 can renders 3848 frames/sec, only 44% of the previous frame rate. This is the reason.