11/27/2008 11:59:21 AM

Столкнулся с проблемой. У меня тут беспроводная сеть и несколько компов в ней. Один десктоп и ноуты – удобно. Однако, обратил внимание, что скорость копирования данных по беспроводной сети составляет “всего” 1.50 MB в секунду в том случае, если обе машины используют WiFi.

В случае, когда одна из машин (любая) подключается к роутеру кабелем, скорость возрастает до 4 MB/sec. Если же подключить кабелем обе машины, то скорость получается уже в районе 11-12 MB/sec.

Я понимаю, что беспроводная сеть медленнее, но не в 7 же с половиной раз!

Пробовал настраивать роутер и сетевые карты, чтобы работали только в 802.11/g (до этого стояла поддержка еще и /b) – разницы никакой. Сижу в полутора метрах от роутера, с сигналом проблем нет. На всех машинах VISTA SP1. Home Premium и на одной из машин Ultimate. Десктоп “самосборный”, ноутбуки объединяет только то, что оба Dell, хотя и разных линеек.

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

  • QoS, который, якобы, злобно резервирует для непонятных целей аж 20% канала, не давая честному пользователю насладиться скоростью. Там же приводятся танцы с бубном по отключению этой службы. Этот бред даже комментировать нечего :)
  • Служба Remote Differential Compression. Почитал описание: полезная служба, при наличии изменений в файле позволяет передавать только изменения. Я понимаю, как это может отразиться на скорости положительно, но как это может повлиять отрицательно?! Тем не менее попробовал эту фичу отключать (благо тут нет никакого шаманства), и на одном компе, и на обоих. Разницы при копировании фильма никакой (с изменениями не тестировал, надо будет попробовать).
  • Проигрывание звукового или файла. Авторы утверждали, что в Висте есть специальная служба, которая отдает приоритет медиапотоку, а потому сеть начинает тормозить. Здесь сразу можно начинать смеяться, хотя фича такая действительно есть. Люди даже всячески ее отключают, начитавшись подобного. Но если подумать, даже если система отдаст 50% своей производительности на воспроизведение несчастного MP3, вряд ли это хоть как-то затронет скорость передачи по сети. Ну или, я не знаю, нужно постараться найти такую машину, чтобы при проигрывании музыки система “вставала раком”, не давая делать ничего другого. Не знаю, как на x286 с 4 мегабайтами памяти, но на моей машине ни проигрывание аудиопотока, ни просмотр HD-видео, ни даже кодирование HD-видео на скорость работы сети не влияют.
    Наверное это линуксоды такое придумали.
  • Отображение индикатора загрузки. Это, наверное, самое смешное из всего. Хорошо хоть не придумали еще, как это “лечить”. Объяснение: что система, дескать, копирует кусочек данных по сети, потом начинает высчитывать время, необходимое на оставшуюся закачку (соответственно, перестав передавать данные), потом закачивает следующий кусок и так далее. А поскольку, дескать, в Майкрософт сидят криворукие программисты, то расчет времени написан неоптимально и эта “пауза” между закачками большая. Типа, долго вычисляется время.
    Наверное, тоже линуксоид придумал. Потому как человек мало того, что не знает, что такое events, messages, не представляет даже на самом примитивном уровне, как работает виндовс (в линуксе-то какие там messages) и не может себе вообразить, что такой трудный и долгий процесс, как расчет времени, можно делать в отдельном потоке.. Этот человек еще и в школе математику учил плохо, поскольку считает, что пусть даже и синхронное умножение двух чисел + деление их на третье, производимое между копированием блоков данных, способно существенно замедлить процесс этого самого копирования на 4-ядерном процессоре.

Короче, посмеяться-то я посмеялся, а скорость все равно 1.5 MB.
К сожалению, не осталось ни одной машины с XP, чтобы проверить “не из висты”.

Может кто-то знает, в чем реальная причина и куда копать, если, конечно, есть смысл копать? На роутере в настройках тоже не нашел ничего особенного…

11/19/2008 11:30:00 AM

IQ-тест на математическую логику - 2

Результат: 100%.

У вас отлично развито логическое мышление. Если вы и делаете ошибки в рассуждениях, то в основном по случайности или от усталости, но не из-за неумения. Тем не менее, помните, что все хорошее всегда можно улучшить - если, конечно, оно вам надо

 

Tags:

11/19/2008 10:40:00 AM

Понадобилось тут такая вот простая функциональность: есть какие-то группы checkbox’ов, списки всякие и т.д, коих (групп) на странице может быть несколько. При этом для каждой группы хочется иметь возможность включить/выключить все checkbox’ы разом. На стороне клиента, конечно, прибегать к коду на сервере тут как-то глупо.

Казалось бы – задача типичная и элементарная, однако поиск в интернете практически ничего не дал, за исключением примитивных циклов по всем контролам формы и циклов по элементам, имена которых задаются по шаблону. А вопросов на эту тему достаточно много.

Это показалось странно: я не хочу задавать шаблоны, я хочу всего лишь указать группу checkbox’ов, которые должны включаться и выключаться одновременно. Поэтому пришлось делать свой контрольчик. С учетом того, что опыта работы с JavaScript я, в общем-то, не имею и с ASP.NET AJAX на уровне скриптов почти не работал, на создание контола у меня ушел примерно час.

Выглядит это теперь примерно так:

<asp:CheckBox 
    runat="server" 
    ID="_checkAllInFirst" 
    Text="First Group (click to check all)" />
<patrolAjax:CheckAllCheckBoxesExtender 
    runat="server" 
    CheckBoxesContainerID="_firstPanel" 
    TargetControlID="_checkAllInFirst" />

<asp:Panel runat="server" ID="_firstPanel">
    <asp:CheckBox ID="CheckBox2" runat="server" Text="First" />
    <asp:CheckBox ID="CheckBox3" runat="server" Text="Second" />
    <asp:CheckBox ID="CheckBox4" runat="server" Text="One more..." />
</asp:Panel>

Моему контролу (CheckAllCheckBoxesExtender) нужно просто “показать” контейнер с checkbox’ами (свойство CheckBoxesContainerID) и “шаблонный” checkbox, который будет включать/выключать остальные checkbox’ы.
Вот так вот все оказалось просто.

Кстати, я делал этот контрол на базе AjaxToolkit, и как-то даже понравилось то, до чего дошла “современная” JavaScript, я уж не говорю об ASP.NET Ajax Framework, который позволяет и наследование, и интерфейсы, и другие “вкусности”. Похоже, что JavaScript сильно изменилась за последние годы, с тех пор, как я ее очень не любил ;)

Исходный код контрольчика прилагается. Я не стал пихать в архив AjaxToolkit, поэтому перед тем, как скомпилировать, нужно будет “починить” референс на эту библиотеку (скачать с http://ajax.asp.net, если ее нет).
Тестово-демонстрационный сайт из одной странички прилагается :)

AjaxControls.zip (23.55 kb)

11/1/2008 2:15:09 PM

Как-то все про время получается.. А что делать?!

Так вот, пока Avast! смотрит в будущее, Microsoft Excel обатился к прошлому (смотреть дату оригинального файла):

excel-1601

Интересно, так как файл был создан на той же машине, на той же операционке, той же женой и в том же Excel’е :) Что бы это могло значить…

Tags:

Powered by BlogEngine.NET 1.6.0.0

About the author

Alexey Raga Alexey Raga
.NET software developer.

E-mail me Send mail

Disclaimer

The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

© Copyright 2010

Sign in