以前にピクセルプッシュについて尋ねたところ、画面にノイズを表示するのに十分な距離まで到達することができました. これが私がどのように初期化するかです:
CGDataProviderRef provider;
bitmap = malloc(320*480*4);
provider = CGDataProviderCreateWithData(NULL, bitmap, 320*480*4, NULL);
CGColorSpaceRef colorSpaceRef;
colorSpaceRef = CGColorSpaceCreateDeviceRGB();
ir = CGImageCreate(
320,
480,
8,
32,
4 * 320,
colorSpaceRef,
kCGImageAlphaNoneSkipLast,
provider,
NULL,
NO,
kCGRenderingIntentDefault
);
各フレームをレンダリングする方法は次のとおりです。
for (int i=0; i<320*480*4; i++) {
bitmap[i] = rand()%256;
}
CGRect rect = CGRectMake(0, 0, 320, 480);
CGContextDrawImage(context, rect, ir);
問題は、これが非常に遅く、約 5fps であることです。バッファを公開するパスが間違っているに違いないと思います。3D チップを使用せずに、30fps で更新できるフルスクリーンのピクセルベースのグラフィックスを実行することは可能ですか?