programming:01
差分
このページの2つのバージョン間の差分を表示します。
| 次のリビジョン | 前のリビジョン | ||
| programming:01 [2026/02/23 10:03] – 作成 machiaworx | programming:01 [2026/02/23 10:10] (現在) – machiaworx | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| ===== プログラム書いてたときに分かったこと ===== | ===== プログラム書いてたときに分かったこと ===== | ||
| - | ====== CPU処理にかかる時間とメモリの関係 | + | ==== CPU処理にかかる時間とメモリの関係 ==== |
| * CPUで値を更新しようとするとき、メモリの大きい領域にアクセスすると時間がかかる。 | * CPUで値を更新しようとするとき、メモリの大きい領域にアクセスすると時間がかかる。 | ||
| * よって、アクセスするメモリ領域を小さくする。 | * よって、アクセスするメモリ領域を小さくする。 | ||
| * もしくはalignasを使って構造体のアライメントを小さくする。 | * もしくはalignasを使って構造体のアライメントを小さくする。 | ||
| - | * mR frameworkの実装では、16byteずつ配列を確保した。(これでうまくいったかは謎だが、少なくとも色数を落として処理速度はあがった) | + | * mR frameworkの実装では、16*2=32byteずつ配列を確保した。(これでうまくいったかは謎だが、少なくとも色数を落として処理速度はあがった) |
| ---- | ---- | ||
| - | * TrueColor-32768色の相互運用 | + | ==== TrueColor-32768色の相互運用 |
| * TrueColor-> | * TrueColor-> | ||
| * 32768色からTrueColorにマッピングを変更するとき、各色の数値を取得して3bit左にシフトし、4byteの変数にデータを詰め直す。 | * 32768色からTrueColorにマッピングを変更するとき、各色の数値を取得して3bit左にシフトし、4byteの変数にデータを詰め直す。 | ||
programming/01.1771808630.txt.gz · 最終更新: by machiaworx
