logo
Литература_1 / photon_old

Системная информация

Вы можете получить о Вашей системе следующую информацию:

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

Имеются две функции, которые Вы можете использовать для получения системной информации:

PhQuerySystemInfo() Получение информации о данном регионе

PtQuerySystemInfo() Получение информации о виджете (обычно окно)

PhQuerySystemInfo() отсылает сообщение серверу каждый раз, когда Вы её вызываете.

Функция PtQuerySystemInfo() вызывает функцию PhQuerySystemInfo(), но буферирует информацию. Когда регион, перекрывающий Ваш виджет, изменяется (например, он перемещается), буфер помечается как недействительный. В следующий раз, когда Вы вызовите PtQuerySystemInfo(), она вновь вызовет функцию PhQuerySystemInfo(). Используя буфер всегда, когда это возможно, функция PtQuerySystemInfo() удерживает минимальным количество сообщений.

Обе функции – и PtQuerySystemInfo(), и PhQuerySystemInfo() – заполняют структуру типа PhSysInfo_t, которую выделяет в памяти Ваше приложение. Более полная информация – в "Справочнике библиотечных функций Photon'а".

Особый интерес представляет одна область – графическая полоса пропускания в gfx.bandwidth. Это значение может быть использовано для модификации поведения интерфейса, основанного на скорости связи. Например, простое изменение состояния может заменить изощрённую мультипликацию, если полоса пропускания равна Ph_BAUD_SLOW или ниже. Также хорошей идеей является выполнение проверки того, может ли совместно используемая память применяться для рисования; флаг Ph_GCAP_SHMEM в gfx.capabilities установлен, если все графические драйверы поддерживают функции семейства ...mx() и все они запущены на Вашем узле.

  1. Yandex.RTB R-A-252273-3
    Yandex.RTB R-A-252273-4