为收藏卡牌游戏加载超过一百万张图像的有效方法是什么

本文关键字:图像 是什么 方法 有效 张图像 一百万 收藏 游戏 加载 | 更新日期: 2023-09-27 17:55:25

我正在将C#与MonoGame一起使用,我想知道为可收藏的纸牌游戏加载超过一百万张卡牌图像的有效方法是什么。在未来的更新中会不断添加更多卡片,什么都没有。我相信有一些天才的方法可以做到这一点,既优雅又高效。我希望获得一些关于其他人如何解决这个问题的见解。

这些卡都将位于用户下载的客户端应用程序上。服务器将确保玩家没有作弊。我试图找出在客户端管理大量卡片图像的有效方法,以加载和卸载卡片。

我知道卡片应该只在必要时加载和显示。但是,游戏中有些点用户可以查看他们的整个集合。我在用滚动条或类似的东西思考。他们可以根据卡的某些属性过滤他们的卡。在这种情况下,我将如何实时管理卡的装载/卸载,以使其无缝高效。

为收藏卡牌游戏加载超过一百万张图像的有效方法是什么

您不会一次加载所有图像。无论这是否是在线游戏,一次加载所有这些游戏都将非常低效。解决此问题的一种方法是将它们全部放入某种数据库中,并且只在需要时加载所需的牌,例如发新牌时等。如果您担心查询速度会减慢您的游戏速度,请查看这篇详细的文章/竞赛,了解如何纠正最快的查询,以及这些提示。

至于你的编辑:

您仍然可以在服务器上使用 SQL 数据库并运行查询以确保它们没有作弊。您不需要检查他们所有的卡,只需检查他们当前拥有或正在处理的卡。

希望对您有所帮助!

假设这是一个在线游戏。 我想你会想要使用数据库(MySQL等)来存储卡信息。 卡片图像将存储在FTP上以便快速访问,其路径将存储在数据库中。 然后使用查询访问当前屏幕所需的必要卡。

您不应该一次加载一百万张图像。仅按需加载...例如,当发牌时,加载图像。

我相信您可以将图像保存在数据库中。这是最有效的存储和检索机制。或者,您可以存储为二进制数据。如果不将图像数据保存在RAM或SSHD中,您将不会获得更快的速度。

如果你关心的是绩效,我认为你的优先事项是错误的。 ;)