Свежие комментарии
Title | Comment |
---|---|
мне кажется, что такой |
мне кажется, что такой интернет не нужен уже сразу после того, как выясняется что ты не имеешь власти над роутером и фильтрацией портов/трафика на своей стороне. лучше уж пусть медиаконвертер с парой выходов ставят. на одном - делай чо хочешь, внутри тупо dhcp. |
А если туда просто |
А если туда просто ethernet-кабелем подключиться, то тоже 25 мегабит? Такой интернет нам не нужен! |
После месяца работы с GPON |
Провели GPON чуть более месяца назад. Установка: заводят со щитка на площадке электрику и прикручивают на стену розетку; рядом сам роутер. В него воткнуто ОВ, из него к телефонной коробке на площадке вытащен кусок меди. Таким образом, старая мдная разводка внутри квартиры как была, так и осталась. Роутер ZTE F660 с ВиФи. Предлагали бесплатно сделать "патч-корд" от роутера к компу. Сразу предлагают подключить ТВ и Интернет-канал. Канал Интернета подключили по звонку в службу поддержки (636-0-636). Причем озвучили что включат не ранее подписания договора, для чего необходим прихода агента, но И-нет заработал уже через час. 2 раза договаривался по времени прихода агента, для чего уходил с работы, но человек так и не пришел. Я позвонил в поддержку и попросил отметить что 2 раза продинамили и теперь только в выходные по предварительному согласоанию. Попробовали понаезжать типа отключим - обломились; налегал на двойное нарушение договоренностей, зафиксированных при звонках, которые пишутся, ну чтобы вопрос не возникал в дальнейшем. Больше никто по этому поводу не беспокоил и И-нет работает. По видимому им важнее чтобы деньги за услуги оплачивались ))) Качество работы канала. Подключил 40Мбит. Ви-Фи у этого (или конкретно у моего экземпляра?) роутера слабенький, хотя мощность стоит 100% - свисток в компе мой модем видит на 4 палки из 5 (растояние напрямую - 6-7 метров и одна не несущая стена), и параллельно видит квартиру тремя этажами ниже. По Спидтесту на Ви-Фи средняя скорость 25Мбит вход/25Мбит выход (свисток стандарта 11g). Это после небольшой пляски с настройками роутера. Для подключения iPad похоже необходим включенный QoS WMM. По крайней мере, моя "Айпадла" без него к сети не подключается, хотя в списке и видит. Учитывая возможность удаленного администрирования со стороны МГТС нет возможности настроить роутер под себя. 2 раза пытался пробросить порты для ДЦ; вроде успешно и все работает, но на следующий день настройки роутера удалены. Сейчас нашел небольшой обходняк - если сработает - отпишу Заметил что при "засыпании" компа (при подключении по Ви-Фи) подключение отрубается и подключается по-новой - примерно 3-4 минуты на все. Проверил настройки ЮСБ и прочие режимы экономии - все отключено. Пока для меня вопрос почему это происходит. Прыжки скорости есть - скорость может болтаться от 3-х до 25Мбит (по Спидтесту) в пределах 5 минут (несколько последовательных проверок в интервалом в 1 минуту). Причем скачка торрента или ДЦ более-менее стабильная, а вот серфинг может тупить конкретно. Причины - тоже пока неясны. ИТОГ: завтра ставлю в комп стационарную сетевуху с Ви-Фи стандарта 11n с увеличенными антеннами. попробую приблизиться хотя бы к стабильным 30Мбитам. больше вряд ли, ибо подразумеваю что карта будет видеть больше сетей чем свисток, соответственно "шума" будет побольше. |
Да, с матрицами клевее |
Да, с матрицами клевее сильно! |
ну если ты помнишь, то задача у меня была ровно та же самая, |
ну если ты помнишь, то задача у меня была ровно та же самая, только текстуры были не только большие (поменьше чем у тебя), но еще и много (24 в секунду). ВБО были очень быстрее. |
У тебя вершин было мало, текстуры были большие и VBO были бы |
У тебя вершин было мало, текстуры были большие и VBO были быстрее, я правильно понял? А на что закладываться - вопрос же десятый, картинка может быть больше предельного размера текстуры, значит надо уметь пилить. А на сколько частей - решить динамически. |
С версии 3.0 это все |
С версии 3.0 это все deprecated. И вроде как я видел где то, что в пятой версии fixed pipeline уберут, но найти не могу. |
Ну можно же не настолько |
Ну можно же не настолько хардкодить. Проще, наверное, псевдокодом: void В gluUnProject() строчек 20, можно и с собой потаскать. Хотя, в Qt, возможно, удобнее сделано. То есть я бы делал так, по старинке, если бы не хотелось заодно скилл прокачать. Пусть там несколько процентов в производительности потеряется, но проще и ширее охват, такой OpenGL уж наверное все драйвера понимают |
У меня на имеющих смысл размерах текстур VBO были быстрее в |
У меня на имеющих смысл размерах текстур VBO были быстрее в какие-то совершенно адские количества раз. Но это было давно и может быть уже неправда. зачем закладываться на 1Кх1К? вроде ж все умеют 4К как минимум? |
Размер геометрии меняется |
Размер геометрии меняется если меняется размер картинки (загрузили и показываем другую). |
> write() - не ресайзит буфер |
> write() - не ресайзит буфер (как я понимаю) т.е. придется думать о его размере. Я не видел как устроены драйвера opengl, но думаю они собирают вызовы glVertex в буфер и копируют по glEnd. Ф-ции заливки чего либо, должны как мне кажется отрабатывать сразу. |
write() - не ресайзит буфер |
write() - не ресайзит буфер (как я понимаю) т.е. придется думать о его размере. Аналогия же с CUDA должна рассматриваться более глубоко Т.е. вот с CUDA - скопировать 100 мегабайт за один вызов (да еще и асинхронно, по DMA) - ерунда, а за 100 млн вызовов - не ерунда. |
> Т.е. получается, что если я |
> Т.е. получается, что если я собираюсь обновлять буфер, то ему надо QGLBuffer::DynamicDraw, а Я так никогда не делал. Обновлял только текстурки. Но судя по докам, надо выставить DynamicDraw и WriteOnly. Я бы как раз использовал Write, он же не трогает остальные кусочки буффера и теоретически не обязан их заливать в видео память. Но есть ли соответствующие ф-ции в OpenGL (что бы обновить кусочек VBO) я не знаю, тут бы в исходнички заглянуть, но строить предположения веселее. > Не максимально эффективно, но если вершин в пределах пары сотен, то вроде и хрен с ним? |
Захардкодить не получится - |
Захардкодить не получится - тайлы же. Не везде предельный размер текстуры 64kx64k :). Опять же, задача не столько вывести картинку как таковую (это я научился делать уже), сколько вообще разобраться в механике, раз уж такой повод. А glu - грубо говоря нету (ну то есть можно собраться с, но вроде незачем). Зато есть многочисленные Qt-шные примитивы для матриц 4x4 и подобного. |
Я в Qt применительно к OpenGL |
Я в Qt применительно к OpenGL не особо, может там как-то все не так, но обычно экранные координаты переводят в координаты сцены с помощью gluUnProject(). Да зачем вам для 4 точек какие-то буфера для вершин применять? Может проще, э-э, захардкодить? Прямо между glBegin() и glEnd() glVertex() и фсе |
Вопрос же мой в другом. |
Вопрос же мой в другом. Понятно что отрисуется "быстро". Значимая - это "на профайлере что-то видно". |
Как я уже писал в мае [link], |
Как я уже писал в мае, в софтверном OpenGL (который внутри VMWare workstation) меня вообще все потрясло. Ну то есть там (в Qt) пример с кубиками (6 кубиков, на гранях - 6 разных текстур) Смешно было. |
Это означает, что у меня |
Это означает, что у меня полной картины в голове нет - и я прочитать написанное не могу. Т.е. получается, что если я собираюсь обновлять буфер, то ему надо QGLBuffer::DynamicDraw, а содержимое менять, к примеру, через вызовы allocate (а не через write() - чтобы не думать о том, сколько у меня в буфере места и влезет ли). Не максимально эффективно, но если вершин в пределах пары сотен, то вроде и хрен с ним? Верно я мыслю? |
64 текстуры (128 |
64 текстуры (128 треугольников), наверное, даже софтварный OpenGL более-менее быстро будет рисовать. На современных видеокартах вроде бы миллионами (десятками миллионов?) полигонов в секунду меряются. До-шейдерный OpenGL простой как грабли: выставляем матрицы, рисуем картинку. И так на каждое событие перерисовки. Если нужно помасштабировать и перенести, проще всего изменить матрицу перед отрисовкой (glTranslate, glScale), координаты точек оставить те же |
> Документация внятного |
> Документация внятного ответа не дает. Что до других нюансов то тут можно применять трансформацию ЦПУ, и заливать вертексы в видео память, можно и шейдерами, и лучшего решения пожалуй нет. |
Хм. Ну с поворотом - да, |
Хм. Ну с поворотом - да, можно матрицами. Ну то есть сейчас у меня на картинку (background) наложен QGraphicsRectItem через который я получаю все эвенты (правую кнопку мыши нажали или там еще что), мне удобнее чтобы и он и картинка были в одних координатах, ну да и этот Item можно тоже повернуть той же матрицей. Другой способ смотреть на мир, хорошо. Ну хорошо, другой случай - просто новая картинка, скажем меньше (или больше) и ей нужна другая нарезка на тайлы. И вопрос: у меня уже есть QOGLBuffer для вершин, мне его надо совсем убить и создать новый, или можно обойтись меньшей кровью. Документация внятного ответа не дает. Экспериментами выясню, конечно. |
> Вот если у меня Vertex |
> Вот если у меня Vertex buffer надо обновить (картинку повернули - размеры поменялись_, то что |
Не, ну как-то глупо их не |
Не, ну как-то глупо их не использовать, если Qt используется во всей остальной программе. Ну и тут, конечно, есть приколы. Вот если у меня Vertex buffer надо обновить (картинку повернули - размеры поменялись_, то что делать: Документация не дает ответа, исходники - частично дают, но примеров очень хочется. P.S. Лишний каммент прибил |
Так не используйте кьютишные |
Так не используйте кьютишные врапперы. Они обычно тонкие, но там наверняка баги есть. Хотя вот OpenCL врапперы мне очень понравились. |
Я уже в той стадии |
Я уже в той стадии непонимания, когда собственно OpenGL-ные примеры (которые у всех на GLUT) уже примерно понимаю (в том объеме, который мне нужен, про освещение, к примеру, вовсе не читал) и ступор вызывает уже взаимодействие с Qt. Ну вот, к примеру, у меня как и у этого чувака не работает glDrawRangeElements с нулевым последним параметром (указателем на буфер индексов). Значит какой-то буфер я не прибиндил (или как-то так). Но начинаю разбираться, вот нашел тот форумный топик и вижу, что отвечающий там вообще использует нечто под названием QOpenGLVertexArrayObject в котором у него весь контекст, включая шейдеры. Ни в документации (что для Qt5, увы, нормально), ни в исходниках - такого нет и тут я пугаюсь окончательно. |
Книжка то нашлась и не одна. Ну то есть по OpenGL3 - я <a hr |
Книжка то нашлась и не одна. Ну то есть по OpenGL3 - я уже писал, но я в процессе понял, что на 3-ю версию лучше не рассчитывать, поэтому банально OpenGL Superbible, 4-е издание по Opengl 2.1 |
Мне понравились оффициальные |
Мне понравились оффициальные книжечки красная и оранжевая. http://www.amazon.com/dp/0321637631/ref=as_li_tf_til?tag=flazx-20&camp=1... |
> есть ли смысл связываться с |
> есть ли смысл связываться с VBO или 6 пар вызовов glTexCoord2f()/glVertex2f() не будут заметно медленнее? VBO не связаны особым образом с шейдерами. Просто glTexCoord2f это старый API, вроде даже deprecated с opengl3.0. но я вроде об этом писал в старом топике. Туториалы хорошие Nehe. Там вроде постепенно все рассказывают. |
А можно вопрос - а в книжка-то нашлась? Без QT, а для общего |
А можно вопрос - а в книжка-то нашлась? Без QT, а для общего развития. PS: из общих соображений - если что-то можно хранить в карте, то лучше там. И рисовать оттуда. Но это, естественно, КО :) |
Вы немножко задержались с |
Вы немножко задержались с вопросами (мы обсуждаем пост от 1 сентября), вот и нет конкретных ответов. Ящик этот - давно в бою, как я вам там Windows-флаги посмотрю, если никаких Windows там уже скоро 3 месяца как нет? |
Pages
