我为ios cocos2D写了一个程序(OC语言),现在想对Retina屏截屏存到UIImage中,

我为ios cocos2D写了一个程序(OC语言),现在想对Retina屏截屏存到UIImage中,,第1张

// 屏幕截图

UIImage snapshot;

CGImageRef cgScreen = UIGetScreenImage();

if (cgScreen) {

snapshot = [UIImage imageWithCGImage:cgScreen];

CGImageRelease(cgScreen);

}

CGRect rect = CGRectMake(0,125, 640, 750);//创建要剪切的矩形框 这里你可以自己修改

UIImage res = [UIImage imageWithCGImage:CGImageCreateWithImageInRect([snapshot CGImage], rect)]

//res就是截图后的UIImage

try it~

1、显卡的选择

最重要的是,显卡直接影响渲染速度。这是无法优化的。3080会比1080渲染更快更稳定。所以 ,对这块的选择是尤其主要的。

2、显存大小

足够的显存可以避免我们在使用OC时崩溃和卡住的问题。建议8G以上的显存。通常情况下,系统将消耗1G的显存,所以在标准显示器上实际上可以使用的显存应该少1G。建议将显存配置高一些。

3、电源大小

渲染时,显卡不能超过屏幕,较大的电源可以使大场景的渲染更加稳定。

4、关闭节点预览图节省资源

OC默认打开节点预览效果,即每次我们连接一个新节点,OC的材质窗口将更新当前节点下的最新材质球效果。这个过程是非常资源密集型的,特别是在内存不足的大场景中,这一点特别明显,非常容易崩溃。

5、增加Windows的TDR值

6、增加OC的内存使用空间

打开OC设置——核心——增加“内存使用限制”。注意,该值不应超过计算机的最大内存限制。比如我的电脑是64G,我就改成35左右,可以根据具体情况来确定。

7、节点公用

变换、投影、浮点、渐变、颜色校正等类似节点,在五个专一的条件下,一个节点可以重复使用,减少OC的 *** 作运算。

8、修改贴图分辨率

建议除了一些特写镜头外,可以使用1K以内的贴图来拍摄其他的远处和中间场景。这将大大减少资源的负载和显存的利用率。

针对以上几点大家可以尝试 *** 作一翻,对于本地渲染来说,占用电脑,而且对于电脑配置,显卡,内存都要求较高。

当然,如果是项目文件过多的话,也可采用云渲染平台,云渲染的速度交给到自己手上,可按照自己的项目时间进度,选择不同的渲染模式,这样就可以不耽误进展,又可以提高工作效率。

渲云是目前全面拥抱公有云的云渲染平台,海量节点可动态扩展,是国内规模较大、速度较快的云渲染服务平台,所以可以使用N多台机器同时渲染。

以上就是关于我为ios cocos2D写了一个程序(OC语言),现在想对Retina屏截屏存到UIImage中,全部的内容,包括:我为ios cocos2D写了一个程序(OC语言),现在想对Retina屏截屏存到UIImage中,、C4D oc渲染时特别卡,是哪个硬件出了问题吗、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/9570376.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存