OpenGL 関数は、同期的に動作するかのように定義されています。ただし、レンダリング関数 (およびその他) は、多くの場合、GPU によって非同期で実行されます。OpenGL はこれを効果的に隠します: 操作の結果を必要とする何かを行う場合 (レンダリングされたフレームバッファーからの読み取りなど)、OpenGL は GPU がそのポイントに到達するまで CPU 操作を停止します。
これは機能的ですが、CPU は基本的に GPU が完了するまでブロックするため、パフォーマンスには理想的とは言えません。特定の操作が完了したかどうかを判断する方法はありますか? その結果、依存する操作が CPU のブロックをあまり行わずに実行されることがわかりますか?