タグ

2022年10月26日のブックマーク (2件)

  • RenderPassを攻略する - Qiita

    Vulkanを扱う上で最も難解な要素とされるRenderPassをとりあえず一通り使えるくらいな感じで解説していきます。 具体的な用法とかは明日 対象 完全な初学者が対象ではなく、書かれている内容はある程度コンピュータグラフィックスプログラミングに精通している方を対象として書かれています。少なくともDirectX9またはDirectX11で一通り動きのあるものを作成できる程度の知識が必要です(OpenGLではスワップチェーンの概念が存在しないため若干躓くところがあるかと思います)。 概要 RenderPassとはVulkanで初めて採用された概念で、簡単にまとめてしまうと「利用される/生成されるリソースを処理ごとに定義してそれらの依存性をまとめたもの」となります。 CG全般においては最終的に画面に何かを表示することが目的となりますが、「画面に何かを表示する」ということは「スワップチェーンに

    RenderPassを攻略する - Qiita
  • neue cc - async/awaitのキャンセル処理やタイムアウトを効率的に扱うためのパターン&プラクティス

    async/awaitの鬼門の一つとして、適切なキャンセル処理が挙げられます。別に基的にはそんな難しいことではなく、CancellationTokenSourceを作る、CanellationTokenを渡す、OperationCanceledExceptionをハンドリングする。というだけの話です。けれど、Tokenに手動でコールバックをRegisterしたときとか、渡す口が空いてないものに無理やりなんとかするときとか、タイムアウトに使った場合の始末とか、ちょっと気の利いた処理をしたいような場面もあり、そうした時にどうすれば良いのか悩むこともあります。 こういうのはパターンと対応さえ覚えてしまえばいい話でもあるので、今回はAlterNatsの実装時に直面したパターンから、「外部キャンセル・タイムアウト・大元のDispose」が複合された状況での処理の記述方法と、適切な例外処理、そして最

    edo_m18
    edo_m18 2022/10/26
    [async/await][非同期][cancel][キャンセル]