0

我正在使用 cocos2d 的 CCRenderTexture 来录制我的游戏视频。但是如果以视网膜显示分辨率录制视频会消耗大量 CPU 和内存,所以我想使用低分辨率进行视频录制,但保持视网膜分辨率以进行正常游戏。是否可以?

我试过“[[CCDirector sharedDirector] enableRetinaDisplay:NO];” 在录制视频期间,但它似乎不起作用。生成的输出完全错误。

4

2 回答 2

1

这是不可行的。

您必须将每一帧渲染两次,一次在屏幕上,然后在渲染纹理上。即使您以某种方式降低渲染纹理的分辨率,帧率的严重下降也是不可避免的。

原因很简单,您还必须将每个渲染纹理作为图像写入闪存。这是非常缓慢的。您还将获得大量数据。如果每个 (PNG/JPG) 图像文件最终都是相当小的 50 KB,那么以 60 fps 记录的一秒数据将消耗 3 兆字节的闪存。一分钟大约是 180 兆字节。

要录制游戏演示,大多数游戏遵循简单的原则,即记录用户输入,然后像用户发出这些命令一样回放用户输入。这需要仔细规划,在更新应用程序(或使旧演示无效)时不进行重大更改,并且不使用非确定性随机化器(即随时间播种)。

如果您需要录制演示以制作预告片视频,周围有很多抓屏解决方案。有些人甚至专门从设备(通常需要源代码/库组件)或模拟器中抓取 iPhone 视频。

于 2012-10-09T19:20:41.117 回答
1

您应该查看 Kamcord SDK 来录制游戏。检查http://kamcord.com/

Kamcord 具有适用于 iOS 的内置游戏视频和音频录制技术。它允许您(游戏开发者)使用 API 捕获游戏视频。然后,您的用户可以通过 YouTube、Facebook、Twitter 和电子邮件重播和分享这些游戏视频。

于 2012-10-10T16:20:42.810 回答