トップページ > 記事閲覧
グラフィックハンドルの数の限界について
名前:山太郎 日時: 2021/12/30 15:48

はじめまして、お世話になってます。 グラフィックハンドルについて質問です。 グラフィックハンドルの数を増やすことは可能でしょうか? 現在、下記の様な仕様でキャラクターを作成しています。  @同じ画像を流用したキャラクターが同時に複数登場する(50-100ほど)  Aキャラクターは複数のパーツで構成されて、キャラクターごとに色が異なる。  Bキャラクターは複数のアニメーションを行う。(100〜200キロバイトの画像が500枚程) 同じ画像を色を変化させて描画していますが、数が多いため、描画の度に色を変化させると処理が重くなってしまいました。 そのため、色を変化させた画像をキャラクターごとにメモリー上に保持するようにしましたが、 今度はグラフィックハンドルの数が限界に達してしまい、管理できるキャラクターの数に限界が生まれてしまいます。 (色の変化には、GraphFilterを使用しています) 出来るだけ多くのキャラクターを管理出来るようにするため、 グラフィックハンドルの数を増やすことは可能でしょうか?
メンテ

Page: 1 |

Re: グラフィックハンドルの数の限界について ( No.1 )
名前:sereparu 日時:2021/12/30 17:51

グラフィックハンドルの最大数は下記URLのスレッドによると 262144個(古いバージョンだと32768個)となっていますが 余程の大ボリュームのゲームでは無い限り、この最大数を超えることは無いと思います。 ttps://dxlib.xsrv.jp/cgi/patiobbs/patio.cgi?mode=view&no=4981 (先頭に「h」を追加してください) グラフィックハンドルを無駄に作り過ぎていませんか? 1つの画像ファイルに1人のキャラクター、1つのパーツ、1つのアニメーションパターンを描いていて それら1つ1つにグラフィックハンドルを割り当ててDrawGraphで描画する、というような作り方になっていませんか? それだと、もしかしたら最大数を超えてしまうかも知れません。 グラフィックハンドル数を抑えたい場合、以下の方法が一般的だと思います。 ・1つの画像に複数のキャラクター、パーツ、アニメーションパターンをまとめておいて DrawRectGraph や DrawModiGraph 等で、画像内の各キャラクターが描かれている所の左上座標を指定して描画する ・一度にすべての画像にグラフィックハンドルを割り当てるのではなく シーンごとに必要な画像のみにグラフィックハンドルを割り当てる ・シーンごとに不要な画像のグラフィックハンドルを DeleteGraph で削除する (また必要になったら LoadGraph で読み込み直す) 詳しいやり方は上記URLのスレッドで管理人さんがマップチップの例を出して説明されています。
メンテ
Re: グラフィックハンドルの数の限界について ( No.2 )
名前:管理人 日時:2022/01/02 22:34

ご返信が遅くなり申し訳ありません sereparuさんのご助言の内容を踏まえてもやはりグラフィックハンドルの数が足りない、 という場合はグラフィックハンドルの限界数を増やしてみようと思いますので、 その際はその旨のご返答をお書き込みください m(_ _)m
メンテ
Re: グラフィックハンドルの数の限界について ( No.3 )
名前:たけ 日時:2022/01/06 18:20

外部から失礼します。 今すぐではなくていいのですが、将来的にグラフィックハンドルの限界数を増やしていただけると助かります。 私も山太郎さんと同じような問題が今後発生する可能性があります。 一応スプライトシートに画像をまとめていますが、今後更に一度に描写するキャラクターが徐々に増えていくとグラフィックハンドルの限界数を超えてしまうのではないかと不安があります。
メンテ
Re: グラフィックハンドルの数の限界について ( No.4 )
名前:sereparu 日時:2022/01/07 14:37

すみません。 グラフィックハンドルの限界数を増やしてほしいと要望されている方には余計なお世話かもしれませんが 限界数を増やしても、根本的な問題は解決しないと思います。 現時点でグラフィックハンドルの限界数に達するような作り方では 限界数を増やしても、いずれまた限界数を超えることになりかねません。 個人的には、新しい機能の追加要望やバグ改善要望などは問題ないと思いますが リソースを増やしてほしいという要望は際限が無いので、あまり好ましくないと考えています。 限界数を心配する気持ちも分かりますが、現在の限界数の範囲内で 制作者側で何とか工夫してグラフィックを管理すべきだと思います。 ゲームが作れない原因を、提供されている環境に求めるのは良くないです。 今一度作り方を見直してみてはどうでしょうか?
メンテ
Re: グラフィックハンドルの数の限界について ( No.5 )
名前:通りすがり 日時:2022/01/07 15:22

話を誤読してるかもしれないけど, ハンドルの個数がどうの以前にメモリ使用量の観点でちょっと考えた方が良いのでは? とか思ったり. > 100〜200キロバイトの画像 を > 262144個(古いバージョンだと32768個) で足りないくらい大量に一度にメモリに保持するんすか? 約 100[KB] 前後の物を 32768個 だとしたらざっくり概算で 3200[MB]以上,すなち 3[GB] 以上に. 1個が 200[KB] ならばその倍で 6[GB] 以上になりますが. (このくらいなら現在のPCならOKなの? ひと昔前のPC使ってる人としては恐怖感が^^) 仮に 262144個 の側で足りないって言ってるとしたら,その8倍になりますぜ? 「富豪的プログラミング」というスタイルでも限度って物があるのでは……
メンテ
Re: グラフィックハンドルの数の限界について ( No.6 )
名前:管理人 日時:2022/01/08 22:32

> sereparuさん 通りすがりさん ご意見ありがとうございます 個人的には 32768個から 262144個に増やした時のように、何れ『いまどき262144個は少ない』と 感じるくらいPC性能が上がるような気がしますので、それを見越して今の内に増やしておいても良いかも と思う部分もあります( 確認してみたところ、Ver1.67( 2001年 )の頃のグラフィックハンドルの最大数は 1024個でした ) > たけさん 現在の4倍くらいの数( 100万個くらい )でしたら簡単に増やせますので、 実際に足りなくなってしまいましたらご連絡ください m(_ _)m
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存