Бесплатная виртуальная память на OS X

кто-нибудь знает, как получить бесплатную (!) Виртуальную память на os x?

I Знайте, что вы можете запросить запись в реестре:

typeCode = IORegistryEntrySearchCFProperty(dspPort,kIOServicePlane,CFSTR(kIOFBMemorySizeKey),
                                           kCFAllocatorDefault,
                                           kIORegistryIterateRecursively | kIORegistryIterateParents);

, но это вернет ВСЕ виртуальную память, а не бесплатную виртуальную память. Под Windows вы можете запросить бесплатную VRAM с помощью directshow

mDDrawResult = DirectDrawCreate(NULL, &mDDraw, NULL);
mDDrawResult = mDDraw->QueryInterface(IID_IDirectDraw2, (LPVOID *)&mDDraw2);
DDSCAPS ddscaps;
DWORD   totalmem, freemem;
ddscaps.dwCaps = DDSCAPS_OFFSCREENPLAIN | DDSCAPS_VIDEOMEMORY;
mDDrawResult = mDDraw2->GetAvailableVidMem(&ddscaps, &totalmem, &freemem);

Уродливо, но это работает. Кто-нибудь знает способ osx?

Лучшее ) vram на os x? Я знаю, что вы можете запросить запись в реестре: typeCode = IORegistryEntrySearchCFProperty (dspPort, kIOServicePlane, CFSTR (kIOFBMemorySizeKey), ...

кто-нибудь знает, как получить бесплатную (!) Виртуальную память на os x?

I Знайте, что вы можете запросить запись в реестре:

typeCode = IORegistryEntrySearchCFProperty(dspPort,kIOServicePlane,CFSTR(kIOFBMemorySizeKey),
                                           kCFAllocatorDefault,
                                           kIORegistryIterateRecursively | kIORegistryIterateParents);

, но это вернет ВСЕ виртуальную память, а не бесплатную виртуальную память. Под Windows вы можете запросить бесплатную VRAM с помощью directshow

mDDrawResult = DirectDrawCreate(NULL, &mDDraw, NULL);
mDDrawResult = mDDraw->QueryInterface(IID_IDirectDraw2, (LPVOID *)&mDDraw2);
DDSCAPS ddscaps;
DWORD   totalmem, freemem;
ddscaps.dwCaps = DDSCAPS_OFFSCREENPLAIN | DDSCAPS_VIDEOMEMORY;
mDDrawResult = mDDraw2->GetAvailableVidMem(&ddscaps, &totalmem, &freemem);

Уродливо, но это работает. Кто-нибудь знает способ osx?

Лучшее ) vram на os x? Я знаю, что вы можете запросить запись в реестре: typeCode = IORegistryEntrySearchCFProperty (dspPort, kIOServicePlane, CFSTR (kIOFBMemorySizeKey), ...

кто-нибудь знает, как получить бесплатную (!) Виртуальную память на os x?

I Знайте, что вы можете запросить запись в реестре:

typeCode = IORegistryEntrySearchCFProperty(dspPort,kIOServicePlane,CFSTR(kIOFBMemorySizeKey),
                                           kCFAllocatorDefault,
                                           kIORegistryIterateRecursively | kIORegistryIterateParents);

, но это вернет ВСЕ виртуальную память, а не бесплатную виртуальную память. Под Windows вы можете запросить бесплатную VRAM с помощью directshow

mDDrawResult = DirectDrawCreate(NULL, &mDDraw, NULL);
mDDrawResult = mDDraw->QueryInterface(IID_IDirectDraw2, (LPVOID *)&mDDraw2);
DDSCAPS ddscaps;
DWORD   totalmem, freemem;
ddscaps.dwCaps = DDSCAPS_OFFSCREENPLAIN | DDSCAPS_VIDEOMEMORY;
mDDrawResult = mDDraw2->GetAvailableVidMem(&ddscaps, &totalmem, &freemem);

Уродливо, но это работает. Кто-нибудь знает способ osx?

Лучшее Кто-нибудь знает способ OSX?

Лучшее Кто-нибудь знает способ OSX?

Лучшее но мне было интересно, есть ли у вас время, не могли бы вы помочь мне с одной «процедурой». Не с точки зрения математики, но что было бы ...

Товарищи-программисты,

Я знаю, что это немного выходит за рамки вашего права, но мне было интересно, может быть, у вас есть время, не могли бы вы помочь мне с одной "процедурой" ". Не с точки зрения математики, но как лучше всего брать.

alt text alt text

Это аэродинамический профиль / профиль. Обычно профили определяются с двумя наборами данных. Один из них - это положение средней линии изгиба, представленной в виде x, y, где x обычно указывается в процентах от длины хорды. Второй набор данных - это толщина в процентах от длины хорды. Толщина всегда рисуется перпендикулярно линии развала (!), И это дает точки профиля.

Теперь у меня обратная проблема - у меня есть точки профиля, и мне нужно определить положение линии развала. Метод интерполяции по точкам может быть разным, но это не имеет значения, так как я всегда могу интерполировать столько точек, сколько мне нужно, так что в конечном итоге получается линейный.

Помните, поскольку мышление нарисовано перпендикулярно изгибу. линия, положение линии изгиба не является средним между точками верхней и нижней линии профиля (называемой задней и лицевой стороной профиля).


Правка (как это делается на бумаге): Ухх, болезненно и в большом масштабе (здесь я говорю о длинной бумаге формата A0, это 1189x5945 мм на большом чертежном столе. Вы начинаете с рисования первой линии изгиба (CL) итерация по средним точкам (средним точкам) между точками лица и спины с одинаковыми ординатами x. После этого вы рисуете множество перпендикулярных линий, перпендикулярных этой CL, и найдите их средние точки между лицом и спиной (эти точки на лице и спине больше не будут иметь одинаковые значения x). Подключите их, и это ваша вторая итерация CL. После этого вы просто повторяете второй шаг процедуры, рисуя перпендикулярные линии на этой второй CL ... (обычно она сходится после 3 или 4 итераций).


2-е изменение: Картинка заменена на картинку, которая лучше показывает, как мышление «нарисовано» на линии развала (CL). Другой способ представить это, как на картинке № 2. Если вы нарисовали много кругов, центральные точки которых находятся на линии изгиба, а радиусы - это значения толщины, то касательные к этим кругам будут линиями (составляющими кривую) профиля.

линия изгиба не является средней линией (средней между точками лица и спины); он может совпадать с ним (поэтому обычно путаница). Эту разницу легко увидеть в более изогнутых профилях (более изогнутых).


3-е изменение - чтобы наглядно проиллюстрировать разницу (извините, что мне потребовалось столько времени, чтобы нарисовать ее) между средней линией и линией изгиба, вот процесс как это обычно делается «на бумаге». Это довольно деформированный профиль по той причине, что разницу между ними легче показать (хотя такие профили также существуют).

На этом рисунке показана средняя линия - это линия, образованная средние значения лица и спины при одинаковых координатах x.

alt text

На этом рисунке на средней линии нанесены перпендикулярные линии (зеленые). Середины этих перпендикулярных линий составляют первую итерацию линии изгиба (красная прерывистая линия). Посмотрите, как эти круги лучше вписываются в профиль по сравнению с первым изображением.

alt text

На рисунке ниже показана вторая итерация линии изгиба вместе со средней линией из первого изображения, чтобы проиллюстрировать разницу между ними. Эти круги теперь еще лучше вписываются внутрь (за исключением того первого, который вылетел, но не обращайте на него внимания).

alt text

8
задан Community 8 February 2017 в 14:30
поделиться