• Как не нагружать систему?

    @ruslanfedoseenko
    С++/C# разработчик
    Если исходники других приложений которые вы запускаете есть то в них можно использовать такой механизм как performance counter. В исходном приложении вы цепляетесь к этим счётчикам и мониторите.
    Ответ написан
    Комментировать
  • Чем вы защищаете сборку .NET (c#)?

    @ruslanfedoseenko
    С++/C# разработчик
    Единственный надежный и простой вариант это выносить критичный код в нативные сборки и pinvok-ать их либо на c++/cli сделать обертки. С обфускатором может возникнуть куча проблем, например если вы используете remouting или wpf.
    Ответ написан
    Комментировать
  • Vulkan свойства семейств очередей?

    @ruslanfedoseenko
    С++/C# разработчик
    Используется си-подобное понятие массива как указатель на первый элемент. И благодаря арифметике указателей код вида pQueueFamilyProperties[i] вернет указатель на i элемент. Произойдет что-то типа pQueueFamilyProperties + i*sizeof(VkQueueFamilyProperties).
    В итоге сначала надо спросить кол-во элементов
    uint32_t queueFamilyPropertiesCount = 0;
    vkGetPhysicalDeviceQueueFamilyProperties(
      physicalDevice, &queueFamilyPropertiesCount, 0);

    Выделить память для этих элементов и получить их
    //Если пишите на C
    VkQueueFamilyProperties* const queueFamilyProperties =
      (VkQueueFamilyProperties*)malloc(
        sizeof(VkQueueFamilyProperties) * queueFamilyPropertiesCount);
    //Если пишите на C++
    VkQueueFamilyProperties* const queueFamilyProperties =
     new VkQueueFamilyProperties[queueFamilyPropertiesCount];
    
    vkGetPhysicalDeviceQueueFamilyProperties(physicalDevice,
      &queueFamilyPropertiesCount, queueFamilyProperties);


    P.S. Я не эксперт в Vulcan API и не разу его не использовал но по идее должно работать.
    Ответ написан
    3 комментария