首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >加速gganimate渲染

加速gganimate渲染
EN

Stack Overflow用户
提问于 2019-08-09 15:47:50
回答 2查看 1.2K关注 0票数 30

我目前正在创建一个包含大量数据的gif。我想要高分辨率的。

在我的旧电脑上,渲染需要几个小时,根本不值得。

我的新PC有一个非常强大的英特尔i9-9900k核心处理器,它将运行速度加快了大约30分钟,但R默认只使用一个核心……我有8个可用的,如果我能用它们在5分钟内完成渲染,那就太好了。我需要每周运行多次,所以能够使用所有8个内核将是令人惊讶的。

有什么办法可以利用这一点吗?我知道你可以在一些R代码中使用多线程,但是我不能用ggplot2/gganimate来解决这个问题。

我也有一个强大的图形卡,如果它可以用任何方式来加快这一点。

或者,如果有任何其他你能想到的加速方法,即使这意味着改变包,甚至是编程语言,那也是很棒的!

EN

回答 2

Stack Overflow用户

发布于 2020-10-31 01:08:22

正如Roman在评论中指出的那样,有一个pull请求,以促进动画ggplot的并行处理。

下面是一个来自this GitHub comment的基准测试示例

代码语言:javascript
复制
library(gganimate)

anim <- ggplot(mtcars, aes(mpg, disp)) +
  transition_states(gear, transition_length = 2, state_length = 1) +
  enter_fade() +
  exit_fade()

future::plan("sequential")  ## default
t0 <- system.time(animate(anim))
print(t0)

future::plan("multiprocess", workers = 4L)
t1 <- system.time(animate(anim))
print(t1)

print(t0 / t1)
##      user    system   elapsed 
## 2.2802385 0.9121339 2.5819751

拉取请求尚未合并,但如果您现在需要,可以使用devtools::install_github()安装该特定分支

这比what has previously been pointed out简单得多

票数 2
EN

Stack Overflow用户

发布于 2020-11-25 19:16:31

请注意,通过使用适当的现代视频格式而不是gif,编码步骤将更快且质量更好。例如:

代码语言:javascript
复制
animate(anim, fps = 25, renderer = av_renderer("out.mkv"))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57425622

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档