burrru: (Default)
[personal profile] burrru
На материнских платах современных компьютеров есть 2 места под видеокарты. Обычная технология позволяет поставить только две одинаковые видеокарты. Наша контора делает чип, который обеспечивает поддержку двух любых видеокарт. Ведущие производители материнских плат готовят к выпуску платы с нашим чипом, а одна такая плата уже вышла в продажу. Сейчас в Тайване проходит международная компьютерная выставка COMPUTEX. На ней материнская плата с нашим чипом получила награду Best Choice. Это самая престижная награда, которую может получить такой продукт. Контора радуется.

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

Сперва нарисуем черный прямоугольник, у которого ширина раза в полтора меньше высоты. Поверх него нарисуем белый прямоугольник меньшего размера - чтобы были видны края черного прямоугольника. Так мы получим цифру 0. А если мы нарисуем белый прямоугольник поверх черного так, чтобы от черного осталась только вертикальная полоска, то получим цифру 1. Чтобы получить цифры от 2 до 9, надо поверх черного прямоугольника нарисовать два белых прямоугольника в соответствующих местах (и один - для семерки). В среднем 2.7 прямоугольника на цифру, что довольно мало.

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

Date: 2010-06-02 07:06 am (UTC)
From: [identity profile] mz1313.livejournal.com
-- У нас более крупные патенты.

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

P.S. А решение симпатичное. Навеяно какими-нибудь электронными часами? :-)

Date: 2010-06-02 07:17 am (UTC)
From: [identity profile] burrru.livejournal.com
Мы там "танцуем среди гигантов" - кругом патенты. Нам тоже приходится. Но с более серьезными алгоритмами.

Ага. Хотелось улучшить стандартную 7-bars схему. Прикол в том, что мы работаем с самой навороченной графикой и хорошо знаем, как именно надо рисовать числа в своей аппликации: текстура, копирование из нее, рендеринг и все такое. Красиво и любым шрифтом. Более того, мы даже можем это внедрить в чужую аппликацию. Но нужно было что-то совсем легкое. И вот посреди навороченной графики - угловатое уродство... Но работает.

Profile

burrru: (Default)
burrru

March 2022

S M T W T F S
  12345
67 8910 1112
13141516171819
20212223242526
2728293031  

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 10th, 2025 11:03 pm
Powered by Dreamwidth Studios