Мое программное обеспечение для 3D-графики, написанное на С# с использованием SlimDX, выполняет множество векторных операций с процессором. (В этой конкретной ситуации невозможно разгрузить работу на GPU).
Как сделать мою векторную математику быстрее? До сих пор я нашел следующие подходы:
- Запустите Mono вместо Microsoft.NET, потому что у них есть поддержка SIMD. Не вариант для этого проекта.
- SlimGen, проект, который внедряет высокопроизводительный математический код во время выполнения. К сожалению, проект еще не в состоянии использования.
- Пишите DLL на С++, используя компилятор, который использует инструкции SSE. Взаимодействие с этой DLL с С#.
Есть ли другие возможности для выполнения более быстрой векторной математики в .NET?