2015-03-17 8 views
1

Итак, я пытаюсь получить Unity для рендеринга (например) с половинным разрешением, чтобы получить лучшую производительность. Сначала я создал сценарий, который добавил новую камеру с плоскостью перед ней, а затем сделал оригинальную рендеринг главной камеры текстурой, а затем я показал эту текстуру на плоскости. Это работает.Unity5 render with half resolution

Однако я узнал о методе Graphics.SetRenderTarget(...). Это звучало очень многообещающе. Но, похоже, это не так, как я ожидал.

Так что я попытался следующие:

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

Но это, кажется, не изменится ничего. Я надеялся, что это сделает Unity рендерингом с половиной разрешения. (Я попробовал это в методе «Пуск», а также в «Обновить».)

Не понимаю функциональность этого метода. Я использую это неправильно? Или есть что-то, о чем я не знаю?

ответ

0

Я не могу комментировать причину отсутствия репутации, так что я должен написать ответ ...

Почему не сжимать текстуры вы хотите использовать вариант? Или почему бы вам не попробовать использовать настройки качества единства, установив более низкое качество, чтобы ваша производительность (fps) улучшалась.

С наилучшими пожеланиями

+0

Я не уверен, что понимаю, что вы имеете в виду. Я пытаюсь изменить разрешение, на котором выполняется вся сцена, что дает лучшую производительность в целом. Использование параметров качества действительно также улучшит производительность, но я просто что-то пробую, увидев, будет ли он лучше смотреть на ту же производительность. Я также пытаюсь изменить отображаемое разрешение на каждый кадр, поэтому частота кадров выше при движении, но ниже при стоянии, обеспечивая лучшую графику в медленных сценах. –

0

Единство обеспечивает метод, называемый Screen.SetResolution. Но имейте в виду, что вы не должны часто менять разрешение. Позвольте пользователю решить, какое решение для него лучше всего. SetResolution необходимо короткое обновление, чтобы пользователь заметил, если вы измените разрешение во время игры.

Использование RenderTexture для управления им во время работы звучит очень хаки, и я не уверен, если вы получите заметное повышение производительности. Может быть, «двойная» камера вызывает лаги и другие проблемы.