C#でのWaitHandle待機スレッド調査
調査内容 C#かつWindows向けプログラムではWaitHandleを待ちたいことがある。例えばWaitableTimerの満了待機のために。これはTaskともまた違う設計思想に基づいているよ...
15 search resultsShowing 1~15 results
You need to log-in
調査内容 C#かつWindows向けプログラムではWaitHandleを待ちたいことがある。例えばWaitableTimerの満了待機のために。これはTaskともまた違う設計思想に基づいているよ...
調査内容 C#かつWindowsで1msのタイマーを使いたい。Threading.TimerやTask.Delay(1)では最短でも15msになるっぽいので他の方法を調べた。 環境 Intel ...
asyncメソッドと動作スレッド変化 async/awaitを採用した場合、awaitの前後で動作スレッドがたびたび変化する。この影響のうちOpenGL操作やPollEvent関数呼び出しのメイ...
検討内容 前回記事ではUI処理を主に、定期更新処理を従にする考え方によって設計を単純化した。しかしまだコードに書きにくさが残っている。主原因はイベント待機のためのコールバック関数や状態変数で、こ...
内容 C#の非同期メソッドが実行されるスレッドはThreadPoolクラスが生成したワーカースレッドですが、これを指定したスレッドに切り替える方法を紹介します。 スレッド切り替えの様子 非同期メ...
背景 前回の検討内容では先に定期更新処理だけがあって後からUI処理を追加するという発想をしていた。しかし実際に実用的な量のUI処理を追加してみると処理の大半がUI処理と言えるほどに量が膨れ上がっ...
メニュー処理の特殊性 2D STGゲームやちょっとしたミニゲームではすべての機能を定期的な更新処理として記述できる。しかしRPGのようにメニュー操作を多用するゲームではそれが難しい。原因は定期更...
背景 C#で作っている趣味のゲームのゲームループ設計がカチッとはまらない。他言語の様子を見るとC++のboost::asioはシングルスレッドでもかなり高速に動いていたし、流行りのjavascr...
この記事の内容 プログラム中でのOpenGLリソースの取り扱いを簡単化した。その方向性を軽く解説する。 問題点:GPU転送処理を書くのが手間 ゲームプログラムではGPUへの転送が必要なリソースを...
この記事 開発途中の自作ゲームプログラムで描画処理を専用スレッドに分けてみた。さらに2つのスレッド間で描画データを受け渡すためにトリプルバッファを導入したので、その内容を大まかに説明する。ただし...
前提を疑う 普通の設計? 前回の記事で結びの言葉として「普通の設計を始めましょう」と書きました。 ※前回の記事: https://qiita.com/qiitatosh/items/239fb5...
現代においてのタスクシステム 初学者がゲームプログラム設計を調べ始めるとタスクシステムという言葉を目にすることがあります。忘れてよいです。まだ知らなかったなら幸いです。この記事を読まずにこの言葉...
背景 以前Taskでのスレッドプール切り替え方法を軽く調べたが、状況を限定すればもっと他の方法もあるとわかってきたのでまとめた。今回も案出しレベル、参考資料まとめまで。 以前の記事: 前提 シン...
前提 ゲームのシーン進捗管理を定期処理中でしている前提。後付けで非同期処理完了待ちに対応する場合に、扱いやすい手法があるか考察する。机上検討のみ。掲載コードは 疑似コード 。C#をイメージしては...
問題点 C#ではスレッドプールが1プロセスにつき1つしかない。もしCPU主体処理とブロッキング有り処理の2種を扱いたい場合はどうすればよいのか。それぞれで欲しいワーカースレッド数が異なる。 対策...
15 search resultsShowing 1~15 results
Qiita is a knowledge sharing service for engineers.