私のiPadアプリでは、画面外のビットマップにレンダリングしてから、ビットマップを画面に描画しています。(これは、既存のビットマップレンダリングコードを再利用したいためです。)iPad 2では、これは魅力のように機能しますが、Retinaディスプレイを備えた新しいiPadでは、解像度はまだですが、ビットマップの描画は非常に遅くなります。同じ。
ビットマップを描画するには、通常のQuartz 2D関数を使用します。CGImageCreate
データプロバイダーはCGDataProviderCreateWithData
、32ビットRGBA形式で作成されますkCGImageAlphaNoneSkipLast
。UIView
ビットマップを表示するで、では、で返されるコンテキストにビットマップを描画するためにdrawRect:
使用します。CGContextDrawImage
UIGraphicsGetCurrentContext
私は2倍の解像度で描画しようとさえしていないことに注意してください。今のところ、iPad 2で使用していたのと同じ解像度で問題ありません。CoreGraphicsが内部でピクセルを2倍にして、それをGPUに送信しているようです。 、CGImage
GPUに直接渡すには、私が作成しているもので問題ないはずですが。何か案は?