Unity5呈现半分辨率

时间:2015-03-17 19:53:22

标签: unity3d

所以我试图让Unity以(例如)半分辨率渲染以获得更好的性能。我首先创建了一个脚本,在其前面添加了一个带有平面的新相机,然后将原始主相机渲染为纹理,然后我在平面上显示了该纹理。这很有效。

但是,然后我发现了方法Graphics.SetRenderTarget(...)。这听起来很有希望。但它似乎没有达到我的预期。

所以我尝试了以下内容:

RenderTexture texture = new RenderTexture(Screen.width / 2, Screen.width / 2, 16, RenderTextureFormat.ARGB32);
Graphics.SetRenderTarget(texture);

但这似乎并没有改变任何事情。我希望这会使Unity呈现半分辨率。 (我在“开始”方法以及“更新”中尝试了此操作。)

我不明白这种方法的功能。我用错了吗?或者有什么我不知道的事情?

1 个答案:

答案 0 :(得分:0)

Unity提供了一个名为Screen.SetResolution的方法。 但请注意,您不应经常更改分辨率。让用户决定哪种分辨率最适合他。 SetResolution需要短暂刷新,以便用户在播放时更改分辨率时会注意到。

使用RenderTexture在运行时控制它听起来非常h​​acky并且我不确定你是否获得了明显的性能提升。也许" double"相机造成滞后和其他问题。