タグ

ブックマーク / annulusgames.com (4)

  • 【C#】非同期処理とasync/await - Annulus Games

    今回の記事はasync/awaitについて。 C#に限らず、現在では多くのプログラミング言語が非同期処理を扱う言語機能としてasync/awaitを採用しています。現在の.NETでも至る所にasync/awaitが使われており、避けて通ることはできない重要な機能となっています。 そこで今回は、C#における非同期処理とasync/await、またC#8.0で導入された非同期ストリームとIAsyncEnumerable<T>について、基的な使い方を解説していきます。 また、記事の後半では実際にasync/awaitがどのように動作しているかをコンパイル結果を通して説明していきます。この辺りはやや高度なトピックになるため読み飛ばしていただいても構いませんが、async/awaitをより深く理解したい方は是非そちらも読んでみてください。 同期処理 / 非同期処理 async/awaitに関する話

    【C#】非同期処理とasync/await - Annulus Games
  • 【C#】SpanとMemory - Annulus Games

    今回の記事はC#のSpan<T>とMemory<T>について。 現代のC#ではパフォーマンス向上のためにSpanが用いられる機会が非常に多くなっています。.NETでも多くのAPIがSpan<T>を受け入れるようになってきており、パフォーマンスに気を遣ってコードを書く場面ではもはやSpanの活用は必須と言えます。 また、C#ではSpanとは別に似たような型としてMemory<T>も存在しています。こちらは利用する上での制約がSpanと比べて少なく、Spanの代替として主にasyncメソッド内で用いられることが多いです。 そこで今回は、Span<T>やMemory<T>の利用方法や使い分け、またMemory<T>を適切に扱うための指針やIMemoryOwner<T>による所有権の管理についてまでをまとめていきたいと思います。基的にはSpan<T>の利用のみで事足りますが、Memory<T>が

  • 【Unity】ECSで実装されたトゥイーンライブラリ「Magic Tween」を公開しました - Annulus Games

    Unity】ECSで実装されたトゥイーンライブラリ「Magic Tween」を公開しましたUnity2023年9月9日2023年9月9日 現在はv0.1.0ということで実験的なライブラリ、という位置付けではありますが、機能面に関してはGameObject/ECSの両方をサポートし、Sequenceの機能やTextMesh Proのサポートなど、非常に豊富な機能を取り揃えています。また、性能に関してもUnity向けのトゥイーンライブラリとしては最速クラス(というか圧倒的に最速)になっています。そのため、実用性に関しては今の時点でも十分即戦力になり得るライブラリになっているのではないでしょうか。 ただ、諸事情により公開を前倒ししたので、内部の設計がちょっと、というかそれなりにヤバめな雰囲気を醸し出しています。というか、うん、ヤバい。 そんな感じなので、ECSのサンプルとして中身覗くのはお勧め

    【Unity】ECSで実装されたトゥイーンライブラリ「Magic Tween」を公開しました - Annulus Games
  • 【C#】構造体(struct)を完全に理解する - Annulus Games

    今回の記事はC#における構造体(struct)について。 複合的なデータを扱う際、多くの場面ではクラス(class)が用いられるかと思います。しかし、パフォーマンスが重要な場面や、GCによる影響が大きいUnityなどでは、状況に応じてクラスではなく構造体を使用した方が良いこともあります。 近年はC#においてもパフォーマンスが重視されるようになり、構造体が用いられる機会も多くなっています。またUnityのDOTSにおいても、C# Job SystemやBurst Compilerに最適化されたコードを書くために構造体を多用することになります。 ここでは構造体に関する基礎的な知識から、クラスと構造体のメモリ管理について、そして実際に構造体を用いる際の注意や活用方法についても解説していきたいと思います。 ただ今回の記事、調子に乗って色々な内容を詰め込んだ結果、めちゃくちゃに長くなってます。そのた

  • 1