gpt4 book ai didi

c++ - 将资源文件嵌入可执行文件的性能

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:24:24 26 4
gpt4 key购买 nike

最近我发现here如何将我的资源文件嵌入到可执行文件中。还有 xxd 方法。鉴于这个新发现的玩具,我最初使用它来将 GLSL 着色器的文本嵌入到我的游戏中,现在我想嵌入游戏所需的所有资源文件。

目前我只有几 kb 的 3-D 网格数据,但在这个数字增长之前,我想知道在可执行文件中嵌入多少数据是可行的?如果我在其中放入几千兆字节的纹理数据,可以吗?滥用此功能的性能损失是什么?

最佳答案

这种资源分配方法的缺点是,在整个应用程序运行期间,所有资源都将存在于虚拟内存中。

例如,如果您的游戏有 10 个关卡,使用更常见的基于文件的存储解决方案,您将只加载要玩的关卡的数据。通过在运行时加载所有游戏数据,您分配了比必要更多的 RAM。使用最少量 RAM 的解决方案只会在需要的时间内加载所需的资源。

但是,如果您要为资源使用基于文件的存储解决方案并在执行开始时加载它们,那么您的 RAM 使用量将与静态分配资源方法相同。

此外,如果您的目标机器是一台不执行多任务处理的简单游戏机,那么您通常可以以最适合您的方式自由使用可用资源。不需要“玩得开心”,因为通常一次只运行一个游戏。

如果您在现代系统上处理几兆字节的损失可以忽略不计,但是当您处理数千兆字节的数据时,性能损失是您将对系统的可用内存资源造成不必要的压力.

编辑:一定要看到评论中提出的要点

关于c++ - 将资源文件嵌入可执行文件的性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6154258/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com