gpt4 book ai didi

c# - XNA 窗口缩放性能

转载 作者:可可西里 更新时间:2023-11-01 11:39:45 25 4
gpt4 key购买 nike

在我的 XNA 游戏中,我针对 1920x1080 分辨率对整个游戏进行编程和设计,然后缩放比例和信箱以适应正在运行的系统(XBox 或 PC)。

这是一个很好的解决方案,因为它让我永远只担心一个解决方案。

但是,我现在想知道随着游戏变得更加复杂,这是否会在未来再次困扰我。

因为我必须在每次绘制时缩放所有内容(我只使用缩放因子缩放 SpriteBatch.Begin() 一次,完成所有绘制,然后调用 End()),这会对性能产生不利影响吗?我知道当本地设置为 720p 时,XBox 已经为 XNA 游戏做到了这一点(我实际上是在 XBox 上运行时,它只是获得了适当的缩放因子)......所以我无法想象它太糟糕了,即使是 PC。

最佳答案

Xbox 在视频输出的专用缩放器中进行缩放 - 对您的应用的性能影响为零。

您传递给 SpriteBatch 的比例因子只是平移 Sprite 的顶点。即使您没有传递秤,它也会以 1 的系数完成,因此那里没有额外的负载。

不同的屏幕尺寸会有不同的填充率(更多或更少的像素),纹理查找也会不同,因此会显示一些差异。

仅使用 1028x720 后备缓冲区是最安全的做法。 xbox 可以将其硬件缩放到任何分辨率或比率,而无需一行代码或任何性能问题。它将适本地信箱和硬件定标器质量非常好。您不能声称 1080p 支持真的是唯一的缺点。

如果您选择 1020x1080 作为您的后台缓冲区,请注意硬件缩放器无法将其缩小到 480i,并且会在同行评审中失败(如果有人注意到的话应该会失败)

在 WIndows 上,最简单的事情可能是将所有内容绘制到 RenderTarget,然后在最后一次性缩放整个该死的东西。请参阅 SpaceWar starterkit,了解执行此操作所需的几行代码。 (所有内容都在 #if !XBOX 中,这样您就不会在 360 上浪费时间)

关于c# - XNA 窗口缩放性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3524496/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com