Мне было интересно, если кто-нибудь знает с головы, если единство делает любую оптимизацию под капотом с поплавками.Оптимизирует ли single3D поплавки в любой точке?
Поскольку их mathf
функция, которая по существу завершает функцию C# math
, предположительно потому, что он использовал поплавки вместо знаков после запятой, что само по себе является своего рода оптимизации, но они все еще в два раза ресурсы как ulong
, которые могут быть использованы для хранить значения, а затем делиться на десять.
При выполнении вычислений физики, которые имеют дело с сотнями или тысячами поплавков за кадр, кажется, что мы хотим получить все, что могли бы получить.
Оптимально мне говорят, что я хочу использовать указатели, на которые я предоставил ссылку, но я не продаюсь при запуске в небезопасным.
http://answers.unity3d.com/questions/804103/how-to-enable-unsafe-and-use-pointers.html
Я не знаю, на самом деле это оболочка математической функции C#. Они делают собственные собственные реализации в моно CLR для многих вещей, и я не удивлюсь, если один из них MathF. –
Кроме того, прокомментировал ли вы свой код и увидел, что функции 'MathF' фактически там, где код тратит большую часть времени, или вы просто предполагаете, что именно там он проводит больше времени, потому что это самый логичный выбор? –
Использует ли это float над десятичным? Ты уверен? Не двойной? Почему улунг должен быть оптимизацией, если для получения значения требуется умножение для хранения и деление? Зачем думать, что указатель будет быстрее? Для прохождения значения? Все еще 4 байта данных. И тогда вам все равно нужно поместить значение в регистр для выполнения действия. Возможно, вы пытаетесь найти проблему для решения, о котором вы думаете. – Everts