Comments 18
Давай меня, меня давай!
Вообще задача «не потерять информацию от лазерной указки» решаема в видеомонтаже (экран с указкой, плюс качественный экран скринкаста), но так мучительна … Я даже в свое время пытался написать хотя бы автоматический детектор моментов, когда докладчик использует лазерную указку, но увы — (не говоря уже о задаче вычисления координат указки, чтобы мапить их на экран). Приходится до сих пор, просматривать глазами, все моменты, когда на экране архитектурная диаграмма или код, а докладчик развернут лицом к экрану, и рука подозрительно поднята… Это ужасно конечно, и результат неидеален — обычно такие моменты требуют всего пространства под код/сложную диаграмму, и ползать и указывать там должен крупный курсор, или рисовалка-экранный аннотатор.
Я пытался внедрять десятки девайсов докладчикам (чтобы указывали крупным курсором) — гиромыши, носимые микротачпады, ноуты с сенсорными и перьевыми экранами… наиболее оптимальный пока вариант — беспроводной трекбол, но все равно, им надо хотя бы минут пять потренироваться… и это надо сделать ответственностью докладчика — не используй лазерную указку, возьми с собой то устройство, которым ты сможешь удаленно и уверенно рулить курсором, если это потребуется.
А если совмещать в полуручном режиме при монтаже, то на уровне отдельного доклада энтузиаст это может сделать, а на уровне конференции, в которой 50-100 докладов, такая работа, скорее всего, окажется неприемлемо дорогой (монтаж-то там не своими силами делается обычно, а на заказ).
Да, работа эта тяжелая, профессионалы ее делать не будут, я делаю для тех тысяч смонтированных докладов… получая комментарии в духе «а вот, в такой-то момент пропустил лазерную указку, добавьте». С этим, конечно, надо кончать.
Насчет указки — несколько лет назад вроде был консенсус, что оптимально выделать отдельную камеру с инфракрасным фильтром — там да, четко будет видно. Но тратить целую камеру на такую фигню жалко конечно. Пропагандируйте беспроводные трекболы, плиз.
Я даже в свое время пытался написать хотя бы автоматический детектор моментов, когда докладчик использует лазерную указку, но увы — (не говоря уже о задаче вычисления координат указки, чтобы мапить их на экран).
Пишем видеосигнал, идущий на проектор, параллельно снимаем на камеру экран, на который проектор транслирует изображение, вычитаем из видеосигнала с камеры видеосигнал, идущий на проектор — чем не вариант?
Насчёт Demo 6 — люто не согласен и надеюсь, что Сергей к вам не прислушается. Я существенно легче воспринимаю столбик цифр, чем эти дурацкие спаренные полоски, которые надо взглядом сопоставить с числом снизу и числом слева. Можно было цветом или полужирным выделить, например, 19.3, 19.4, 18.4, чтобы акцент поставить. А так всё хорошо.
Так же я прочитал https://software.intel.com/en-us/node/544395 — и еще больше не понял.
А потом я посмотрел http://stackoverflow.com/questions/21038965/why-does-the-speed-of-memcpy-drop-dramatically-every-4kb — и мне сейчас вообще кажется, что чувак получил прямо противоположный результат к тому, что рассказано видео.
Условно, перед проверкой на перекрытие данных, адресам делается & 0xFFF, и потом смотрится, есть ли их перекрытие. Так?
Мне, логика подсказывает, что при этом объяснении просадка производительности должна быть когда копируешь между адресами кратными 4к, но судя по таблице — это самый лучший случай по производительности. Странно это.
Так.
> Мне, логика подсказывает, что при этом объяснении просадка производительности должна быть когда копируешь между адресами кратными 4к, но судя по таблице — это самый лучший случай по производительности. Странно это.
4k-aliasing, не позволяет делать load пока не завершится store (в случае конфликта). То есть нас интересует load, который идет после store.
Если дельта == 4K. то все хорошо ибо:
1) load *+4K
2) store *+4K
3) load *+4K+32
4) store *+4K+32
…
Тут нет конфликтов по 4K-aliasing
Если дельта == 4K+1(2,15,16). то:
1) load *+4K
2) store *+4K+1
3) load *+4K+32
4) store *+4K+1+32
…
то у операций 2 и 3 адреса (в младших 12 битах) перекрываются. И значит load номер 3 ждет пока значение store номер 2 уедет из store buffer.
Кстати, чтобы собрать проект с гитхаба, нужно поставить 0.4 версию jol, потому что с 0.5 и выше не собирается (нет класса какого-то).
Анализ доклада Сергея Куксенко с JPoint 2016