AndroidのJelly Beanから導入されたProject Butterのトリプルバッファリングってなんなの?
For Butter or Worse: Smoothing Out Performance in Android UIs のセッション資料チェックしてから動画見る。http://t.co/YFl3K6D7
2012-07-16 10:32:56ダブルバッファリングだとCPUとGPU同時に動かせないの?トリプルバッファリングだと出来るの?そういう絵に見えるけど正しいかわからないな…。GPUががバッファ1に作業してる時にバッファ2用の計算を始めても問題ない気がするんだけど…。
2012-07-16 11:00:25トリプルバッファリングにすると、描画を1フレーム分キャッシュできる(=1フレーム遅延させる)事が出来るので、描画に16ms以上かかるようなスパイクが発生した場合にごまかしやすい(=ジャンクフレームの発生を抑制できる)という利点があるということ?
2012-07-16 11:22:33ダブルバッファリングだと2枚の描画サーフェスをフリップして書込を行うので、1フレームの描画に許される最大の猶予は16ms。。トリプルバッファリングにすると非表示のサーフェスが2枚存在することになるので、ある特定の1フレームを描画するのに許容される時間は最大32msになる。
2012-07-16 11:24:23つまり、前+そのフレームが32ms以内であり、かつそのフレーム+後が32ms以内の両方を満たす場合、処理のスパイクが発生しても見た目上ジャンクフレームが発生しない!ぬるぬる!!という誤魔化しが効くようになる。
2012-07-16 11:25:20デメリットとして1F常に遅延が発生してしまう。格ゲーマー的に1F常に遅延とか言われるとスゴいデメリットに感じるけど、一般ユーザ的には全然許容範囲内なんだろう。JB以前はOpenGL使えばトリプルバッファリング可能だったのかな?(=JB以降もダブルバッファリングにできるのかな?)
2012-07-16 11:27:08格ゲーマーにとって1Fは大変重要で、お前16msが認識できるの??っていう話しじゃあないんだよ!!!違うよ!!全然違うよ!!! 1F遅延するということは、反応するまでの猶予が1F減るということだから、発生14F(相手が攻撃だしてから攻撃判定が発生するまで14フレームかかる)の場合
2012-07-16 11:31:491フレームの遅延があると13Fで反応しなきゃいけなくなるんだよ!そんなの無理だよ!! ちなみに、16Fくらいまでが割りと反応できる範囲。18Fくらいだと割りと余裕、14Fくらいになると体調のいい日は見える、13Fになるとかなり辛い。ぐらいの感じな気がする。適当だけど。
2012-07-16 11:32:59@zaki50 いや、ジャンクフレーム発生してる時点でクソゲーだと思う…。そこは飛ばすんじゃなくて処理落ちしていただきたい。
2012-07-16 11:33:49@vvakame あれって別プロセスで動いてるのかな。プロセスをスイッチしちゃうと強制スイッチまでは少なくとも 10msec かかるのでけっこう厳しいと思う(最近はもっと細かくしてるかもしれないけど)
2012-07-16 11:39:21@zaki50 PSVitaの解説記事で、全12コア(コア数適当)で、ゲームプログラムからアクセス可能なのが11コア、みたいな説明があった気がする。
2012-07-16 11:41:17