Перейти к содержимому
  • 0
logic

как работать с несколькими экранами/видеокартами

Вопрос

я не нашел норм способа работать с несколькими экранами/видеокартами в openOS

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Рекомендуемые сообщения

11 минуту назад, rootmaster сказал:

я не нашел норм способа работать с несколькими экранами/видеокартами в openOS

Что в твоём понимании является норм способом?

 

Не составляет особого труда связать графическую плату с другим монитором и вывести на него какую-то информацию.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
1 минуту назад, eu_tomat сказал:

Что в твоём понимании является норм способом?

 

Не составляет особого труда связать графическую плату с другим монитором и вывести на него какую-то информацию.

я сам хз че норм способом, типо совместимо со всем софтом вот что значит норм способом

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
1 час назад, rootmaster сказал:

я сам хз че норм способом, типо совместимо со всем софтом вот что значит норм способом

Не-а, из коробки "норм способа" нет. Зато ты можешь написать либу, инкапсулирующую все физические GPU и предоставляющую фейковую GPU, чтобы в автоматическом режиме биндиться к мульти-мониторной конструкции и выводить данные за пределами одного моника. Тогда весь софт действительно будет работать "нормально", если только он не залочен под какое-то константное разрешение. Вопрос лишь в производительности, которой не станет)0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Достаточно получить ссылки на видеокарты, чтобы отрисовывать информацию там, где необходимо.

gpu={}
for f in pairs (component.list('gpu') do 
  table.insert(gpu,component.proxy(f)) 
end

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

 

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

Так же видеокарта 3го уровня содержит довольно значительный буфер, в котором можно хранить все менюшки и копировать их на текущий экран командой bitblt. На самом деле буфер этот настолько велик (24к символов, 192к точек), что в него теоретически возможно сохранить что-то похожее на небольшую гифку и крутить ее на мониторе во время бездействия в качестве скринсейвера. Выйдет 46 кадров 64х64точки без сжатия. 

Изменено пользователем Taoshi

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Когда писал свои часы для биоса, нашел на формуе готовый код с объяснениями.
Если хочется дублировать картинку на все мониторы то как вариант отредачить lua bios и посмотреть что будет, но стоит понимать что скорость зависит от уровня видеокарты 
https://oc.cil.li/topic/1596-multi-screenscreen-mirroring/

Изменено пользователем Taruu

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


×
×
  • Создать...