-
Вложений: 2
Фоновая, пиксельная подсветка телевизора, Pixelight
Наконец приехала моя светодиодная лента с драйверами WS8201 на каждый пиксель. В пяти метрах этой светодиодной ленты 160 RGB светодиодов
Первым делом кинулся ее проверять, но под рукой не оказалось мощного БП на +5в. Пришлось написать свой код проверки ленты с питанием от +5в Arduino Nano
Вот код этого скетча
PHP код:
#include <SPI.h>
typedef struct {uint8_t b; uint8_t g; uint8_t r;} RGB;
RGB pixel[160];
void setup()
{
Serial.begin(115200);
SPI.begin();
SPI.setBitOrder(MSBFIRST);
SPI.setDataMode(SPI_MODE0);
SPI.setClockDivider(SPI_CLOCK_DIV16);
delay(1);
}
void loop()
{
run_pix(160); //количество тестируемых светодиодов в ленте
}
void run_pix(uint8_t num)
{
pixel[0].r=0;
pixel[0].g=200;
pixel[0].b=255;
for(uint8_t i=0; i<num; i++)
{
pixel[i+1].r=pixel[i].r;
pixel[i+1].g=pixel[i].g;
pixel[i+1].b=pixel[i].b;
pixel[i].r=0;
pixel[i].g=0;
pixel[i].b=0;
set_pix(num);
// delay(10); //пауза между вспышками светодиодов
}
}
void set_pix(uint8_t num)
{
for(uint8_t i=0; i<num; i++)
{
SPI.transfer(pixel[i].b);
SPI.transfer(pixel[i].g);
SPI.transfer(pixel[i].r);
}
delay(1);
}
Схема подключения Pixelight
Вложение 15818
Вот так выглядит в готовом виде
Вложение 15808
-
Вложений: 1
Re: Фоновая, пиксельная подсветка телевизора, Pixelight
Программа Pixelight , находится в режиме тестирования. Если есть еще желающие потестить, пишите. Теперь в программе есть только четыре зоны левая, права, вверх и низ. Для каждой зоны можно задавать любое количество точек(светодиодов) от 0 до 255. Для отключении зоны достаточно указать значение 0 в количестве точек отключаемой зоны. Зоны располагаются с лева на право по часовой стрелке, сделано это для того что бы можно было смонтировать светодиодную ленту не разрезая ее. Arduino ничего не знает о зонах и количестве светодиодов, эту информацию плата получает от программы, а это значит что Arduino не нужно перепрошивать при изменении конфигурации или размеров. Программа в отличии от ее предыдущей версии Ardulight претерпела большое количество изменений и исправлений, теперь она работает гораздо быстрей и не требовательна к ресурсам. В программе так же планируется добавить визуальный интерфейс настройки зон, эффекты визуализации в режиме простоя и т.д.Если у
кого то возникнут дельные советы, пишите, рассмотрю
Код для Arduino, пока без наворотов и без эффектов. Библиотека CyberLib в прикрепленном архиве
PHP код:
#include <CyberLib.h>
unsigned long nTime, rTime, t;
void setup()
{
UART_Init(115200);
StartSPI(0, 8, 1);//MODE0, DIV8, MSBFIRST
for(int16_t z=0; z<768; z++) SendSPI(0); //погасить все пикселы ленты
delay_ms(1); //пауза для инициализации ленты
}
void loop()
{ Start
uint8_t data;
t = millis(); //получаем текущее время
UART_SendByte(170); //отправляем байт синхронизации для ПК
if (UART_ReadByte(data)) //ждем от ПК первый байт с колличеством пикселей ленты
{
uint16_t pix_num = data*3; //получаем общее колличество цветовых каналов ленты
uint16_t eTime = micros()-rTime; //получим время с момента окончания загрузки
if( eTime < 900) delay_us(eTime); //ждем полной инициализации (минус 100мкс для загрузки след. байта)
for(uint16_t i=0; i<pix_num; i++) SendSPI(uart_read()); //читаем UART и сразу сбрасываем в ленту пиксели
rTime = micros(); //стартуем счетчик времени инициализации ленты
nTime = t; // //обнулить время простоя
} else {
if((t - nTime) > 4000) ///гасим подсветку если нет потока более 2 сек
{
for(int16_t z=0; z<768; z++) SendSPI(0); //погасить все пикселы ленты
nTime = t;
}
}
End }
//***************************************************************************
unsigned char uart_read(void)
{
uint8_t val;
for (uint8_t i=0; i<255; ++i) //цикл ожидания байта данных из UART порта, время ожидания 2560мкс
{
if(UART_ReadByte(val)) break; //если байт данных получен, то цикл прерывается
delay_us(10); //время ожидания байта
}
return val;
}
Для понимания настройки конфигов Вам поможет прикрепленное изображение
http://compcar.ru/forum/attachment.p...2&d=1367328531
-
Вложений: 1
Re: Фоновая, пиксельная подсветка телевизора, Pixelight
выкладываю архив с моими наработками...
Постараюсь почаще тут появляться и если кому-то не совсем понятно,объясню для чего каждая функция и блок каждой функции...
Особо много ушло времени на оптимизацию алгоритма преобразования HSV2RGB
но результат того стоил, теперь даже ардуинка может похвастать быстрым преобразованием HSV2RGB.
Много времени уделил оптимизации алгоритма этой фкнкции, потому что она очень хорошо подходит для автономной работы с пультом.... т.к. на вход ее можно подавать точку цвета на палитре насыщенность этой точки, и самое главное яркость
http://www.youtube.com/watch?v=H9iQ66ySrfI#!
-
Re: Фоновая, пиксельная подсветка телевизора, Pixelight
А для чего тебе HSV?
HSV очень удобна для поиска на изображении объектов по цвету, но для чего ее использовать в ленте я так и не понял.
Для баланса белого?
-
Re: Фоновая, пиксельная подсветка телевизора, Pixelight
Я же сказал для автономной работы ленты. ;)
ну например, используем ленту в качестве "доп освещеня"....
Например мы можем сделать белый или еще какой либо цыет ленты и спокойно менять яркость ленты... Это просто.... Если надо немного убавить яркость просто меняем значение цветов с 255 на 250 и т.д.
А если у лента в режиме переливающихся цветов. Расчет каждой составляющей цвета R,G,B с учетом установленной яркости немного усложняется... не сильно, но все же... с HSV2RGB это делается легко.
Ну и самый худший случай, примеру бегущие цвета(двигающаяся радуга), как на самом первом видео...
Преимущества при использовании HSV2RGB(пр моему мнению):
1. не нужно делать буфер из 160-255*3 пикселей = 765 байт.(Каждый пиксел спокойно рассчитывается математически прибавлением простого инеримента.
2. Мы можем спокойно подавать на вход значение яркости(изменение с пульта или датчика освещенности) не задумываясь как преобразовать каждое значение RGB.
3. абсолютно так же мы можем спокойно не задумываясь о преобразованиях RGB спокойно менять интенсивность цветовой палитры(насыщенность).
Прям как на телевизоре яркость насыщенность ;)
4. за счет изменения величины инкремента мы можем удлинять или укорачивать длину "радуги" (менять плотность "радуги"). в случае с массивом пришлось бы его перезаполнять.
5. если менять "полярность" инкремента на середине ленты получится водопад из радуги или восходящая радуга. изменение "полярностей" можно сделать в 4х точках это будет еще интереснее.
6.и все это, напомню, спокойно ложится на текущие установленные с пульта(или датчика освещенности) значения яркости и насыщенности.
половина автономных режимов работы ленты очень просто решаются при использовании HSV2RGB
для работы с компом эта функция вообще не нужна....
из всех функций может пригодится только гамма коррекция...
опять же для псевдо случайного выбора цвета(в режиме преливающегося света), мы можем разделить на 2 половинки цветовой круг (0-767 и 768-1536), и каждый раз получать случайное число то из одного, то из другого диапазона, тем самым добиваться постоянного переливания цвета при получении случайного числа... потом это число, а так же значения яркости и насыщенности подаем на функцию, а обратно получаем значения RGB.... все просто и легко! )
-
Re: Фоновая, пиксельная подсветка телевизора, Pixelight
мне вот интересно, под андроид программу обработки кадров можно написать. хватит ли мощностей обрабатывать видео поток и захватывать кадры. тут уже упоминалось о желании приделать к Mini PC (проц Allwinner A10/ 1GHz Cortex-A8 или двух ядерный RK3066)
-
Re: Фоновая, пиксельная подсветка телевизора, Pixelight
А как обстоят дела у Android с драйверами под FTDI?
-
Re: Фоновая, пиксельная подсветка телевизора, Pixelight
как я понял, FTDI необходим для создания виртуального COM порта, вроде начиная с 3 версии они есть. на практике с этим не сталкивался (под андроид не программировал) поэтому со 100% уверенностью не скажу. сам пару дней назад получил этот свисток MK802, ардуино и диоды еще в дороге. планирую на праздники соорудить подсветку
-
Re: Фоновая, пиксельная подсветка телевизора, Pixelight
Помогите выбрать подсветку - сейчас уже 3 варианта:
1. LightPack
2. PaintPack
С этими понятно, что они примерно одинаковые. Так же понятно как их купить / сделать
3. PixelLight
Кажется, что как-то круче выглядит подсветка, более четко работает - свет является как бы продолжением объекта с экрана. Или я не прав и просто так кажется из-за хорошо подобранной демки и эта подсветка такая же как вышеперечисленные?
Прочитал ветку, не особо понятно что нужно конкретно купить и где?
Кто разрабочик данной подсветки? Chip?
Для того что бы все примеры были рядышком для сравнения
-
Re: Фоновая, пиксельная подсветка телевизора, Pixelight
-
Re: Фоновая, пиксельная подсветка телевизора, Pixelight
У Pixelight по сравнению со всеми старыми фоновыми подсветками имеются много плюсов
1-Простота в подключении, не требуется к каждой зоне протягивать кучу проводов.
2-Ленту можно подключить не разрезая
3-Светодиоды в ленте не зависят друг от друга и каждый светодиод получает свой цвет по отдельности
Глубина цвета каждого светодиода 24бита, 16777215 цветов
Из минусов, это высокая цена ленты
Для подсветки понадобится светодиодная лента
Контроллер Arduino Nano
Адаптер питания 220в-5в. Для того что бы подобрать адаптер по току, нужно знать какая у Вас будет длина ленты.
Постараюсь в ближайшее время выложить схему и подробное описание
-
Re: Фоновая, пиксельная подсветка телевизора, Pixelight
Цитата:
Сообщение от
maxirk
Помогите выбрать подсветку - сейчас уже 3 варианта:
1. LightPack
2. PaintPack
С этими понятно, что они примерно одинаковые. Так же понятно как их купить / сделать
3. PixelLight
Здравствуйте .... присоединяюсь к maxirk !!!
Увидел статейку на habrahabr.ru, а вот и она http://habrahabr.ru/post/139407/ и понял что на моем 59 дюймовой плазме будет смотреться просто обалденно такого рода дополнение и после начал мучить гугл и так же стал перед выбором между 1. LightPack, 2. PaintPack, 3. PixelLight!
Что касательно 1-го и 2-го призводителя спрашивал на других форумах сказали что:
Цитата:
"По всем показателям выигрывает Paintpack, но есть одно но, ПО не кросплатформенное. Но зато только у Paintpack есть поддержка захвата изображения в играх."
А в PixelLight есть вообще какое-то ПО? как настраивать захват видео и будет ли работать в играх? В общем буду ждать с нетерпением:
Цитата:
Постараюсь в ближайшее время выложить схему и подробное описание
.
PixelLight по видео обзорам реально намного лучше!!! надеюсь что ничего сложного не будет для реализации данного девайса у себя!
-
Re: Фоновая, пиксельная подсветка телевизора, Pixelight
Добавил в шапку схему Pixelight
Скетч я могу подстроить под любой софт с открытым протоколом
В ближайших планах программа под линукс
С играми не проверял, устройство делалось для домашнего кинотеатра HTPC
Немного предистории:
LightPack был сделан на основе моей первой подсветки Ardulight, можно по датам публикаций проверить
Софт к Ardulight написал Eraser по моим исходникам первой версии программы и по моим рекомендациям.
Он же Eraser написал софт и для LightPack, только по непонятным мне причинам почему он забывает
упомянуть про мое авторство и везде пишет что он разработчик.
-
Re: Фоновая, пиксельная подсветка телевизора, Pixelight
Цитата:
Софт к Ardulight написал Eraser по моим исходникам первой версии программы и по моим рекомендациям.
Значит мы находимся у первоисточника, создавшего upgrade для TV или монитора )))!
Хмм ... простите за может неприличный вопрос но Chip, почему Вы свой бизнес не сделали ... тем более повторюсь еще раз - PixelLight по видео обзорам реально намного лучше!!! Еще не поздно ....
Надеюсь продолжение мануала будет!? Непонятно что дальше ... допустим спаял контроллер с лентой, а дальше нужен программатор для программирования этого контроллера? или программирование контролера будет происходить через ПК подключенный через HDMI кабель? и хватит ли питания 5v для 5м ленты? :) (это приблизительно столько нужно для моего ТВ). И насколько я понял универсального софта нету? ... Вы написали софт конкретно под свои условия эксплуатации? прошу прощения за такое количество вопросов... есть еще но не буду торопиться :)
-
Re: Фоновая, пиксельная подсветка телевизора, Pixelight
Цитата:
Значит мы находимся у первоисточника, создавшего upgrade для TV или монитора )))!
Первоисточник это Philips
Цитата:
Хмм ... простите за может неприличный вопрос но Chip, почему Вы свой бизнес не сделали ...
Всех денег не заработаешь
Цитата:
допустим спаял контроллер с лентой, а дальше нужен программатор для программирования этого контроллера?
Программатор не нужен, это Arduino и он программируется с ПК подключенный USB кабелем
Цитата:
хватит ли питания 5v для 5м ленты?
Тока от USB не хватит, посмотри на фото, на котором видно что дополнительно распаян разьем питания, для внешнего источника
Цитата:
И насколько я понял универсального софта нету?
Не понял вопрос
-
Re: Фоновая, пиксельная подсветка телевизора, Pixelight
Цитата:
Постараюсь в ближайшее время выложить схему и подробное описание
А давайте на habrahabr.ru лучше сразу выложим - тема популярная (а сюда попоже). Если не можете сами (хотя в песочнице каждый может выложить), то могу помочь.
Думаю мноого народуу захочет такой вариант подсветки.
-
Re: Фоновая, пиксельная подсветка телевизора, Pixelight
Могу попросить человека с положительной кармой, что бы он выложил статью.
-
Re: Фоновая, пиксельная подсветка телевизора, Pixelight
Ну все выкладывайте :) Ссылку сразу сюда.
-
Re: Фоновая, пиксельная подсветка телевизора, Pixelight
За ссылку заминусуют карму моего друга, он мне этого не простит:)
-
Re: Фоновая, пиксельная подсветка телевизора, Pixelight
Да вы не поняли - ссылку на статью на хабре, когда выложите, запостите в этом форуме :)
-
Re: Фоновая, пиксельная подсветка телевизора, Pixelight
Да ... да ... да - отличная идея про хабрхабр! Например для моей диагонали подойдет только Pixelight ... и думаю я не один такой ))) В любом случае в нос никто не ударит... так что ждемссс )))
Цитата:
Цитата:
И насколько я понял универсального софта нету?
Не понял вопрос
Если по простому... у меня есть TV 59' (у кого то может быть меньше, больше диагональ у кого-то вообще монитор) к нему подключен ПК или например MINIX NEO X5 на андроиде (на сколько я понял без ПК еще не придумал никто как сделать, а было бы круто) и сделал данный девайс ... то как и чем его настраивать для правильной работы и захвата видео ... получается всем надо знать язык программирования для настройки Pixelight под свои условия работы???? Есть управляющая программа?
Как правильно прошить контролер?
По поводу адаптера питания 220в-5в, а какая сила тока(А) ... можно узнать формулу расчета силы тока?
Цитата:
Для того что бы подобрать адаптер по току, нужно знать какая у Вас будет длина ленты.
В общем смысл всего такой ... признаюсь честно я нубас во всем этом ну или рак (поэтому столько вопросов) :) но хочу реально разобраться и сделать себе такую подсветку ... конечно же легче купить готовую и довольствоваться тем что есть ... но ни одна из них мне не подходит и они хуже! Буду надеется на Ваше терпение и хороший пост на хабрхабр ну или здесь подробную инструкцию! Спасибо!
-
Re: Фоновая, пиксельная подсветка телевизора, Pixelight
Цитата:
получается всем надо знать язык программирования для настройки Pixelight под свои условия работы???? Есть управляющая программа?
Программа есть, и настраивается она очень просто под любой размер телевизора
достаточно указать в процентах четыре области захвата с лева, с права , с верху, с низу и указать для каждой области число светодиодов
Программа также имеет три профиля(конфига) и их можно менять одним нажатием кнопки
Вот пример конфига
Цитата:
************************************************** ********
TimerFrame=0; время между кадрами
Threshold = 0; порог включения от 0 до 255
Brightness=70; яркость от 0 до 255
Saturation=100; насыщенность от 0 до 255
Hue_Red = 110; оттенок красного от 128 до 255 или до 0
Hue_Green = 155; оттенок зеленого от от 128 до 255 или до 0
Hue_Blue = 110; оттенок синего от от 128 до 255 или до 0
****************Для отключения не нужной зоны укажите число светодиодов =0 ******************************************
Left_NumLed=30; Число светодиодов ленты в левой зоне
Left_X =0; отступ от левого края в процентах
Left_Y =0; отступ с верху в процентах
Left_W =10; шрина в процентах
Left_H =100; Высота в процентах
Right_NumLed=30; Число светодиодов ленты в правой зоне
Right_X=90; отступ от левого края в процентах
Right_Y=0; отступ с верху в процентах
Right_W=10; шрина в процентах
Right_H=100;
Top_NumLed=40; Число светодиодов ленты в верхней зоне
Top_X = 0; отступ от левого края в процентах
Top_Y = 0; отступ с верху в процентах , для пропуска черной полосы на широкоформатных фильмах
Top_W = 100; шрина в процентах
Top_H = 10; Высота в процентах
Bottom_NumLed=40; Число светодиодов ленты в нижней зоне
Bottom_X =0; отступ от левого края в процентах
Bottom_Y =90; отступ с верху в процентах
Bottom_W =100; шрина в процентах
Bottom_H =10; Высота в процентах
************************************************** ********
Цитата:
По поводу адаптера питания 220в-5в, а какая сила тока(А) ... можно узнать формулу расчета силы тока?
Примерно 2А на 1 метр ленты, это максимальный ток, при условии если лента светит белым цветом на полную яркость
1метр ленты 10 ватт мощности
-
Re: Фоновая, пиксельная подсветка телевизора, Pixelight
Начал поиски для покупки 1-е управляемой RGB светодиодной пиксельной ленты и 2-е контроллера .... и сразу же появились вопросы!
1) Можно ли вместо - Плата arduino Nano Duo (Arduino Nano V.4) взять (Arduino Nano V.7) ... изменится ли схема подключения и скорее всего нужна будет другая прошивка для этой версии контролера и т.д.?
2) Вот нашел кстати описание неплохое ленты WL-5V32RGB2801 может кому пригодится.
А вот вопрос - можно ли будет использовать вот эту №1 или эту №2 либо эту №3 ленту ... просто я не понимаю в чем отличие между ними ... или только вот ЭТУ №4? Цена то у них у всех одинаковая и большая :) Будет ли работать программа управления и контролер с этими лентами?
На сколько я понял разница между №1 и №2 в защите самой ленты IP - 67 (силиконовый чулок), а IP - 20 походу без чулка ... а и как в №1 так и №2 Кол-во LED в метре - 36шт в отличии от вот этой светодиодной ленты ну или от №4 где Кол-во LED в метре - 32шт ... а в №3 вообще Кол-во LED в метре - 64шт!!!
-
Re: Фоновая, пиксельная подсветка телевизора, Pixelight
Цитата:
Можно ли вместо - Плата arduino Nano Duo (Arduino Nano V.4) взять (Arduino Nano V.7) ... изменится ли схема подключения и скорее всего нужна будет другая прошивка для этой версии контролера и т.д.?
Можно
Цитата:
А вот вопрос - можно ли будет использовать вот эту №1 или эту №2 либо эту №3 ленту
Подойдут только 1 и 2
В DS на ленту WL-5V32RGB2801 написано 32 светодиода на 1 метр
P.S.
Имейте в виду, ценник указан за 1 метр
-
Re: Фоновая, пиксельная подсветка телевизора, Pixelight
Chip какую Вы порекомендуете ленту взять? из тех ссылок что я разместил ... просто данный интернет магазин находится в Украине, а так бы взял ту что Вы в шапке разместили ))!!! Насчет цены я понял сразу )))) думаю оно того стоит ...! А вот контролер скорее всего придется у Вас брать ... не могу найти ((
Кстати вот нашел книжки для знакомства с контроллером : С чегo начинаются роботы. О проекте Arduino для школьников (и не только) [2011], Программирование микроконтроллерных плат Arduino/Freeduino (+CD) ...
-
Re: Фоновая, пиксельная подсветка телевизора, Pixelight
Я думаю что лучше покупать ленту защищенную силиконом
На форуме есть целый раздел посвященный Arduino
-
Re: Фоновая, пиксельная подсветка телевизора, Pixelight
Новогодний скетч для RGB WS2801 ленты
PHP код:
#include <SPI.h>
#define numpix 160
typedef struct {uint8_t b; uint8_t g; uint8_t r;} RGB;
RGB pixel[numpix];
void setup() {
Serial.begin(115200);
SPI.begin();
SPI.setBitOrder(MSBFIRST);
SPI.setDataMode(SPI_MODE0);
SPI.setClockDivider(SPI_CLOCK_DIV16);
delay(1);
}
void loop() {
run_pix(numpix, 255, 0, 0 );
run_pix(numpix, 255, 255, 0 );
run_pix(numpix, 0, 255, 0 );
run_pix(numpix, 0, 255, 255 );
run_pix(numpix, 0, 0, 255 );
run_pix(numpix, 255, 0, 255 );
}
void run_pix(uint8_t num, uint8_t rp, uint8_t gp, uint8_t bp)
{
for(uint8_t i=0; i<num; i++)
{
pixel[i].r=rp;
pixel[i].g=gp;
pixel[i].b=bp;
set_pix(num);
delay(5);
}
}
void set_pix(uint8_t num)
{
for(uint8_t i=0; i<num; i++)
{
SPI.transfer(pixel[i].b);
SPI.transfer(pixel[i].g);
SPI.transfer(pixel[i].r);
}
delay(1);
}
-
Re: Фоновая, пиксельная подсветка телевизора, Pixelight
Chip добавь в последний скетч гамма-коррекцию из моего скетча (там массив и функция которая его заполняет при инициализации контроллера), значение коррекции задай 2.2, при коррекции основные цвета( синий, зеленый и красный) получаются более продолжительными, и заливка ленты получается более равномерная.
-
Re: Фоновая, пиксельная подсветка телевизора, Pixelight
Так что с посто на Хабру?
-
Re: Фоновая, пиксельная подсветка телевизора, Pixelight
Извините меня, но праздники из колеи выбили
Выловлю все баги в программе и напишу.
Потерпите еще немножко.
-
Re: Фоновая, пиксельная подсветка телевизора, Pixelight
Chip, а какой блок питания ты использовал?
Мне нужно запитать 3 метра. Думаю, что 2 преобразователя на LM2596 с одним внешним блоком питания 12В 2А должно хватить
-
Re: Фоновая, пиксельная подсветка телевизора, Pixelight
Я использовал 5в 5А , измерения показали что 5А для 5 метров достаточно
-
Re: Фоновая, пиксельная подсветка телевизора, Pixelight
Можно ли узнать подробности о программе, конкретно интересно следующее:
а) Как организзован захват - gdi, dx, или еще как-то?
б) сколько кадров в секунду вся эта система обрабатывает и что является узким местом?
-
Re: Фоновая, пиксельная подсветка телевизора, Pixelight
Захват организован в gdi
Программа может захватывать с частотой 100гц, но узким местом является скрость передачи по UART (115200)
На один светодиод требуется 300мкс. Получается чем длинней лента, тем ниже частота. У меня лента 5 метров, 160 светодиодов, работает с программой на частоте 20 кадров в сек, что вполне приемлемо
Для телевизора Самсунг 55 дюймов нужна лента 120 светодиодов, соответственно частота будет 36Гц.
В программе сделал ограничение 30 кадров в сек, что бы зря не грузить процессор
В шапке старая версия программы, с кучей багов, новую версию скоро выложу
-
Re: Фоновая, пиксельная подсветка телевизора, Pixelight
А можно посмотреть кусок кода с захватом? У меня через BitBlt без всякой обработки больше 20 кадров в 1920х1080 не выходит :( DirectX пошустрее, но до 100 гц ой как далеко
-
Re: Фоновая, пиксельная подсветка телевизора, Pixelight
100 кадров назвал на основании приблизительных расчетов, могу в понедельник осциллографом перепроверить и снять на видео
Но сразу скажу что частота во многом зависит от многих факторов
1-от процессора и его частоты
2-от количества захватываемых битмапов
3-от размера захватываемых битмапов
4-от приоритета программы
5-от кода
-
Re: Фоновая, пиксельная подсветка телевизора, Pixelight
Да, точные данные были бы интересны.
Вычислительные мощности довольно велики. Отключая Aero в windows 7 у меня получается ~50 кадров полноэкранного BitBlt (измеряю таймером в программе)
Насчет пп.2 и 3 - получается, что ваша программа хватает не экран, а по областям для нужного количества диодов? Может здесь закопана собака...
-
Re: Фоновая, пиксельная подсветка телевизора, Pixelight
Aero отключил сразу после установки Win7, так что даже забыл про нее
Хватает согласно конфига слева 5%, справа 5%, вверху 5% , внизу 5% , кроме того у меня разрешение монитора 1280х1024
-
Re: Фоновая, пиксельная подсветка телевизора, Pixelight
Если кто-то следит за обсуждением - переделал на захват только обсчитываемых областей - получил >150 полных циклов посредством GDI без всяких оптимизаций.
-
Re: Фоновая, пиксельная подсветка телевизора, Pixelight
Еще такой вопрос - усреднение цвета по областям делаете простым средним по R/G/B или используете что-то более точное типа Lab или HSV?