python - 有没有办法在 python 中生成 gif 而不会消耗过多的 RAM?
问题描述
我正在编写一个小应用程序来从 kifu 文件(它是一种用于保存日本象棋游戏的文件)生成 GIF。我目前正在使用 Matplotlib 来绘制棋盘和棋子,并使用 matplotlib.animation.FuncAnimation 类结合 numpngw.AnimatedPNGWriter 来编写 gif。但是,它使用超过 800MB 的 RAM 来生成 80 帧的单个 gif。经过反思,这个值似乎并不奇怪,因为(据我了解)每个帧的尺寸为 1700x1000 并且是彩色的。因此,要保持每一帧都在帧中,它至少需要 1700*1000*80*(nb_bytes by pixel),这是一个巨大的 RAM。
有没有办法使用 matplotlib 或其他库来最小化这个数量?我想我需要在创建它们之后压缩帧而不是保持它们原始,但我不知道该怎么做。
非常感谢
解决方案
推荐阅读
- r - R - 根据第一次出现的列值返回 df 中行的第一个值
- bash - 如何在 Bash 脚本中使用 Kubernetes Secret
- python-3.x - 使用数据框的散景水平分组条形图
- entity-framework - Efcore 2.2- where 子句在选择后运行并返回错误结果
- javascript - 无法从其他模块或领域使用 GraphQLSchema
- php - 如何在迁移中使用内部联接更新 Laravel 数据库
- c# - 当 WindowState 设置为最大化时,部分表单会消失
- web - 如何以图形方式选择自己网站之外的页面上的元素
- javascript - 使用 Angular 7 滚动水平活动项目
- java - 如何避免 .getSelectedFile() 过早选择?