游戏开发论坛

 找回密码
 立即注册
搜索
12
返回列表 发新帖
楼主: flyue

全屏模式下切换到桌面后再切换回全屏会造成设备丢失??

[复制链接]

2

主题

123

帖子

123

积分

注册会员

Rank: 2

积分
123
发表于 2009-8-10 19:59:00 | 显示全部楼层

Re: Re:全屏模式下切换到桌面后再切换回全屏会造成设备

你好鲁尼: Re:全屏模式下切换到桌面后再切换回全屏会造成设备丢失??

managed和default速度有区别的吧,如果渲染过程中只使用一两张贴图是看不出速度上的区别,但是如果要切换1...


那是因为default的一直在显存里,而managed可能被交换出去,用到时重新从内存载入。过多地使用default资源会导致显存可用空间不足,严重影响managed资源的效率。

3

主题

67

帖子

111

积分

注册会员

Rank: 2

积分
111
发表于 2009-8-10 21:45:00 | 显示全部楼层

Re:全屏模式下切换到桌面后再切换回全屏会造成设备丢失??

还有一点,如果你的显卡里创建了很多managed资源,如果再创建default资源,d3d则会报错,显存不足。这个时候就需要EvictManagedResource,将managed资源从显卡中卸掉再进行default资源的创建。
以我个人的经验来看,对于静态的不需要运行时变动的资源,一般用Managed方式来创建,但是像RenderTarget就没有选择了,而且尽量要先于大量managed资源被创建之前创建,原因上一段已经说了。
在绘制的时候,显卡会倒腾这些资源,不需要的资源会适时从显存中卸掉,如果一帧内用到的资源太大,显卡进行频繁的加载卸载就不可避免。但如果创建为default资源,可能根本就创建不下这么大的资源,因为显存的容量是有限的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-21 18:26

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表