ユーザ用ツール

サイト用ツール


programming:01

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

次のリビジョン
前のリビジョン
programming:01 [2026/02/23 10:03] – 作成 machiaworxprogramming: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->32768色にマッピング変更するときは、各色のbitを取得して3bit右にシフトし、更に2byteの変数にデータを詰め直すとできる。   * TrueColor->32768色にマッピング変更するときは、各色のbitを取得して3bit右にシフトし、更に2byteの変数にデータを詰め直すとできる。
   * 32768色からTrueColorにマッピングを変更するとき、各色の数値を取得して3bit左にシフトし、4byteの変数にデータを詰め直す。   * 32768色からTrueColorにマッピングを変更するとき、各色の数値を取得して3bit左にシフトし、4byteの変数にデータを詰め直す。
programming/01.1771808630.txt.gz · 最終更新: by machiaworx