Linux フレームバッファで動作する C でゲームを作成しています。これまでのところ、ポインターのように、マウスと連動して移動する赤い 100x100 の正方形があります。ダブル バッファリングを実装しましたが、正しく動作します (四角形がちらつきません)。問題は、水平方向の引き裂きがかなり多いことです。つまり、正方形が x 軸上を移動すると、水平方向に分割されたようなもので、一部が他の部分よりもずるずると進みます。この「裂け目」は、動かし続けると、正方形の上から下にゆっくりと広がります。
ダブルバッファをメインバッファにコピーする瞬間にハードウェアがフレームバッファを読み取るために発生すると思います。
FBIO_WAITFORVSYNC ioctl でこの問題に対処しようとしましたが、成功しませんでした。
フレームバッファで VSync を実行する方法はありますか? LinuxベースのOSでそのようなものをプログラミングするのはこれが初めてなので、説明に詳細を追加してください。そうでなければ理解できないかもしれません.
ここに私のコードがあります: http://pastebin.com/KJ4iaVEL