2015-08-26 3 views
3

Unity имеет настройку для автоматического выбора графического API.Как отключить Metal in Unity

По какой-то причине моя игра имеет гораздо более низкую производительность при использовании Металла; на данный момент я бы не хотел, чтобы Metal был как опция, но все же мог автоматически выбирать Open GL ES 2.0 или 3.0.

Я использую Unity 5.0.

+1

Этот вопрос прежде всего задает вопрос о том, как выполнить задачу в конфигурации популярного инструмента для разработки игр Unity. Так как речь идет о инструменте со специализированной областью интересов, а не о программировании как таковой, она принадлежит на Game Dev Stack Exchange. Тем не менее, я считаю, что он слишком стар, чтобы мигрировать. –

ответ

7

За единство 5.0, ответ Ли может быть ответом. От Unity 5.1 вы можете указать предпочтительные API и их приоритет в настройках проигрывателя.

https://unity3d.com/unity/whats-new/unity-5.1: Графика: Добавлен способ определения графических API, явно в настройках плеера (по умолчанию «автомат» для каждой платформы). Например, вы могли бы указать, что хотите поддерживать только Metal + ES2 в iOS-сборках или только DX11 (без резервного копирования DX9) в строках Windows и т. Д. Это заменяет настройки «Использовать DX11» и «Target iOS/GLES Graphics».

В следующем примере ES3 будет выбран до ES2, если он доступен, и Metal не будет выбран, даже если он доступен. screenshot

0

Я думаю, что это может быть ......

В "Preprocessor.h"

#if defined(__IPHONE_8_0) && !TARGET_IPHONE_SIMULATOR 
    #define UNITY_CAN_USE_METAL  0 
#else 
    #define UNITY_CAN_USE_METAL  0 
#endif