プログラミング指南 - Code Knowledge

ゲーム制作に関するプログラミング等を主に書き溜めていきます。ただ、どちらかと言えば日記的な書き方が続くと思いますが、そこは温かい目で見て頂ければ。あと、ちょっとしたサンプルやツールのダウンロードも出来るようにしておきます。

タグ:高速化

現在、80mk2 専用で開発を進めているゲームですが、実は当初 60mk2 で全ての面が同時接続状態の広範囲で動ける内容で作ろうと考えてたモノでした。ところが 60mk2 ではあまりに荷が重くて挫折。今回ターゲットを 80mk2に変更してCPUパワーは上げたものの、あの時の反省と教訓 ...

現在作成進行中のマップエディタで、実行速度が遅い箇所がありました。それが以下のプログラム部分です。 for (int x = 0; x < w; ++x) { for (int y = 0; y < h; ++y) { var id = rscGrd.Areas[x + rcChr.X, y + rcChr.Y]; ...

現在私が制作中のマップエディタで、部分消去という処理があります。この部分消去は、同じパーツが隣接していた場合に、それを間引くという機能も実装しようとしてました。そのとき、最初のコードからは 40% 程度までは高速化できたのですが、それをTwitterでもっと速くなら ...

マップエディタの機能拡張で、連続貼り付けに対応したところ、この処理が存外に重たかったので、その調査と改善を行いました。どこが重くて、どのように調査して、どう対応していったのか、実際の対応手順を元に追い込み方について説明したいと思います。最初の状態少し長い ...

前回の C# リソースを使い回すの時に、処理が遅い例としてマップの配置データの順番で表示する処理を紹介しました。この遅い理由がループの途中で Bitmapリソースの作成と解放をしているためでした。この遅い処理を事前に処理しておくとどうなるのかというプログラム例です。 ...

Unity等で描画の高速化をする際によく言われるのが、ドローコールを減らすという対応です。これは描画処理を呼び出す回数を減らすという意味です。実際にはそれぞれのケースで全く対応方法は異なりますが、ここではリソースの使い回しを例として、実際にどのような内容で、ど ...

私が作成した Newシティヒーローというゲームでは、消費メモリを削減するために様々なテクニックを駆使したのですが、その中でリアルタイムビット左右反転というのがあります。通常、ビット反転を行うためには8回のローテートが必要で、軽い処理ではありません。これをゲーム ...

今回は描画ルーチンの高速化について検証したいと思います。 前回までの描画方法 前回の描画では下記のルーチンを紹介しました。 GRPDraw2x12Sep1:: call VRMAddress ; HL 描画アドレス ex de, hl ; 描画を HL→DE の流れとする push de call .draw ; L 描画 pop de ...

マップエディタの開発で、超広範囲の選択範囲がある状態で、BGの設定を実行したところ、数分経っても一向に終わる気配がないという大問題に直面しました。今回はこのとてつもなく遅い処理を、コンマ数秒まで高速化するテクニックです。 巨大リストをY軸毎に分解する最初のプ ...

諸星圭さん @kmoroboshi からリクエストを頂きましたので、緊急に記事にしてみます。諸星さんが仰るとおり、Z80で処理を高速化するためには、16ビット計算は 8ビットに落とし込めないかという試行を行う事が肝要となります。前回、16bitループカウンタで最高速だった B,C を ...

↑このページのトップヘ