Комментарии 3
Мельком просмотрел статью. Следующее утверждение бросилось в глаза:
Во-первых, WinMD — это файл метаданных для описания API, который предоставляется компонентом, а не библиотека. Наличие WinMD файла ещё не гарантирует корректную загрузку компонента(dll с кодом может вовсе отсутствовать).
Во-вторых, есть много нюансов работы WinRT компонентов. К примеру, если написать WinRT компонент на C# и вызывать методы из C# кода, то CLR не будет использовать WinRT ABI, а будет вызывать код напрямую. В случае же, если компонент написан на C++, то передача типов будет происходить через ABI, что медленнее прямого вызова C# — C#.
PS: поздравляю с получением сертификата!!!
WinMD это библиотека классов Windows Runtime, которая создана специально и только для Windows Store приложений (в отличие от PCL). Если ее код написать на C++, то при обращении к ней из приложений на C#/JavaScript производительность возрастет по сравнение с тем же кодом на C#.Хотелось бы немного дополнить.
Во-первых, WinMD — это файл метаданных для описания API, который предоставляется компонентом, а не библиотека. Наличие WinMD файла ещё не гарантирует корректную загрузку компонента(dll с кодом может вовсе отсутствовать).
Во-вторых, есть много нюансов работы WinRT компонентов. К примеру, если написать WinRT компонент на C# и вызывать методы из C# кода, то CLR не будет использовать WinRT ABI, а будет вызывать код напрямую. В случае же, если компонент написан на C++, то передача типов будет происходить через ABI, что медленнее прямого вызова C# — C#.
PS: поздравляю с получением сертификата!!!
Спасибо, ценные уточнения! Немного подкорректирую.
Под скоростью выполнения имел в виду то, что если вынести какие-то сложные, требующие высокой производительности вычисления в WinMD, то разница будет довольно заметна. Взято отсюда:
Splitting Assemblies, WinMD, Diagnostics and Instrumentation
Под скоростью выполнения имел в виду то, что если вынести какие-то сложные, требующие высокой производительности вычисления в WinMD, то разница будет довольно заметна. Взято отсюда:
Splitting Assemblies, WinMD, Diagnostics and Instrumentation
Упс, поспешил. Не то видео, хотя тоже в тему.
Вот здесь в конце 34-ой минуты:
Advanced Windows Store App Development using C#: (04) Reusable Controls
Вот здесь в конце 34-ой минуты:
Advanced Windows Store App Development using C#: (04) Reusable Controls
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Экзамен 70-485 Advanced Windows Store App Development Using C#