質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.38%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

意見交換

クローズ

8回答

1197閲覧

なぜ、ゲームなどでは写真などのリソースをアプリに内蔵しないのでしょうか?

phototaro

総合スコア3

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

1グッド

2クリップ

投稿2024/08/24 15:57

1

2

なんで市販のゲームとかは、写真などのリソースを内蔵しないの?

市販のゲームとかはリソースを内蔵してもいいのでは?

リソースを内蔵できることを知って

私は初心者で、最近プロパティから写真などのリソースを内蔵できることを知りました。
そこで、なんで市販のゲームなどは写真とかを外部ファイルに入れるのかなと思いました。
問題点はほとんどないと思いますが、なぜでしょうか?

fana👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

回答8

#1

umimi

総合スコア482

投稿2024/08/24 20:03

[香車]東上☆あらし☆海美「
『リソースを内蔵』『外部ファイルに入れる』という表現に違和感があります。

『なぜ、画像ファイルを、実行ファイル(.exe 等)と一体化しないのか ?』という趣旨でしょうか ?
OS X になる前の Mac のアプリや、それをまねた Windows のアプリは、確かに、実行ファイルが、[実行部]+[リソース]という構成になっていました。
それが、なぜ流行らなくなったか ?
それは、『実行ファイルから読み出す』というのが、コンピューター・ウイルスの挙動と同じだから、ではないでしょうか ? 『実行ファイルから読み出す』行為を、アンチ・ウイルス・ソフトが、はじくようになったから、では ?

『画像ファイルを生で置いておくと、その画像が読まれて、ネタバレしてしまう』ということで、暗号化されたり、実行ファイルと一体化されたり。されたことはありました。

別に、『実行ファイルと一体化』しようが、『同じフォルダーやサブ・フォルダーに入っている』だろうが、どうでもいい話だと思いますが。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#2

setoppu

総合スコア311

投稿2024/08/24 21:19

リソース埋め込みした実行ファイル、及びDLLのサイズが膨大になる。(読み込みに時間かかります)
使用する場面以外でも、常時それだけのメモリ消費が必要になる(実際は使うまでスワップアウトされるだろうが)
データの一部を更新するだけでもビルドし直しが必要になる。(テストの際、どのタイムスタンプのものが最新なのかの管理が煩雑になります)

と、なかなか楽しいことになります。
音声データとしてDVD1枚、ないし2枚必要。というゲームの場合、Winows95とかの頃ではオンメモリがそもそもできなくなります。(32bitでのユーザープログラムが使用可能なメモリ領域に収まりませんし)

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#3

YAmaGNZ

総合スコア10452

投稿2024/08/25 02:15

分業制で各ファイルが別々のほうが作業しやすいといったこともあると思います。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#4

umimi

総合スコア482

投稿2024/08/25 03:46

[香車]東上☆あらし☆海美「
#2
『リソース埋め込みした実行ファイル』の実行時は、まず、実行部だけが読み込まれ、リソース部は、後から、個別のリソースごとに読み込まれていたはず。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#5

phototaro

総合スコア3

投稿2024/08/25 15:08

#1 ウイルスとして検出されるので流行らなくなったのですね。初めて知りました。面白い理由ですね。ありがとうございます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#6

phototaro

総合スコア3

投稿2024/08/25 15:15

#2 自分は巨大なアプリケーションを作ったことがなかったので、その視点はなかったです。実際そのような問題があるのですね。ためになります。ありがとうございます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#7

tmp

総合スコア298

投稿2024/08/27 09:00

#2
#4
昔の記憶なので間違ってるかもしれませんが
OSのexe読み込み時点では、読み込まれないリソースはあったと思います。
umimiさんの言う後から読み込む必要がったとおもいます。

ここからは推測なのですが、インタネットで更新が当たり前になった為、
この状態でリソース追加や更新が非常にやりづらいと思います。
毎回リソース付のexeまるごと更新か
もし、部分的にリソース更新しようとするとexe編集になるので面倒ですね。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#8

phototaro

総合スコア3

投稿2024/09/15 15:03

#7
確かにインターネット更新の場合重いゲーム(数gb)を編集するのは非常に大変そうです。
解答ありがとうございます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

最新の回答から1ヶ月経過したため この意見交換はクローズされました

意見をやりとりしたい話題がある場合は質問してみましょう!

質問する

関連した質問