Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.04.2013, 19:27   #21
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от intmain Посмотреть сообщение
я уже сказал как это можно проверить, запустить профилировщик шейдереров с тупым шейдереом чтение из текстуры и вывода дифиз колора. для ати и нвидии есть соответствующие тулзы. там показано сколько тактов какая операция занимает на разных чипах кол-во тактов разное, для тех же самых шейдерных операций.
Запустить программу и получить выдаваемую ей цифру - не значит провести измерение.
Тем более это не значит - понять, что именно эта цифра означает.
И тем борлее, это не значит - суметь сделать правильные выводы.

На этом форуме на днях кто-то удивлялся, что цифры, которые показывает Task Manager, не отражают объема выделенной программе памяти.

Одну и ту же цифру можно трактовать сотней различных способов, но только один из них верный.

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

Чуть ранее человек пытался сравнивать качество оптимизаторов разных языков программирования, сравнивая время вывода на экран миллиона строк.

Да что говоримть о никому не известных авторах программ - сегодня тест такого известного человека как Джек Донгарры измеряет совсем не то, на что рассчитывал автор.
Цитата:
для того что бы наглядно убидится что иной раз пропускная способность памяти не узкое место в игре, а именно шейдерные операции в гпу.
Вряд ли в этом можно убедиться надежно.
Вы можете рассказать, что именно измеряется и как измеряется.
Цитата:
... чтобы максимизировать эффекты нам нужно ...
А Вы уверены, что нам нужно максимизировать эффекты?
Цитата:
...нам максимально близко нужно вписаться в архетектуру видеокарты, ...
Нет, в принципе такую возможность (что это Вам действиетельно нужно) исключать нельзя.
Вопрос - зачем Вам это нужно.
В любом случае, разобраться в этом возможно только на некоторый достаточно короткий промежуток времени (пока не вышла новая версия железа - а они выходят раз в полгода), причем, процесс этот достаточно дорогостоящий и заниматься им имеет смысл только тогда, когда есть реальная надежда заработать на этом существенно больше затраченного. В случае с Кармаком, очевидно, это имело место. Но кармаков - единицы. Кроме того, это был некоторый особый период развития ВТ, когда именно такой подход мог иметь успех. Двумя-тремя годами раньше или позже - такая же стратегия вряд ли привела бы к аналогичному результату.
s-andriano вне форума Ответить с цитированием
Старый 26.04.2013, 20:32   #22
intmain
Играюсь с Python
Форумчанин
 
Аватар для intmain
 
Регистрация: 12.12.2012
Сообщений: 340
По умолчанию

Цитата:
Вряд ли в этом можно убедиться надежно.
Вы можете рассказать, что именно измеряется и как измеряется
Эти данные опрашиваются у драйвера видеокарты на прямую, либо через винГЛ расширения, там обширная статистика предоставляется по видео в момент опроса.
драйвер писали разработчики карты, врятли они будут врать, ведь данные могут использоваться для автоматической настройки уровня графики в игре и где либо еще.

Цитата:
что именно эта цифра означает.
там есть характерные надписи для особо одаренных чтобы они поняли/знали и записали что данные проценты означают )

Цитата:
Нет, в принципе такую возможность (что это Вам действиетельно нужно) исключать нельзя.
Это же все от отношения к делу зависит и самой области для которой пишется код кто-то на аме пишет, а кто-то и на... ну вы поняли на чем.
Что ел то - в долг, что жил то - зря.
Для избранных. ))
Секретные разработки
intmain вне форума Ответить с цитированием
Старый 26.04.2013, 20:46   #23
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от intmain Посмотреть сообщение
Эти данные опрашиваются у драйвера видеокарты на прямую, либо через винГЛ расширения, там обширная статистика предоставляется по видео в момент опроса.
Я не спрашивал, через что передается информация.
Я спрашивал, что измеряется и как.

Разницу осознаете?
Цитата:
драйвер писали разработчики карты, врятли они будут врать, ведь данные могут использоваться для автоматической настройки уровня графики в игре и где либо еще.


там есть характерные надписи для особо одаренных чтобы они поняли/знали и записали что данные проценты означают )
Практика показывает, что особо одаренные всегда находятся.
Я уже приводил пример, что под распределением памяти в Task Manager большинство людей подразумевают совершенно не то, что имели в виду программисты Майкрософт, когда получали эти цифры.
Тем не менее, именно эти "одаренные"! почему-то уверены, что их способ понимания единственно возможный.
И тоже говорят (что самое смешное - дословно) "Вряд ли программисты Майкрософт будут врать".
s-andriano вне форума Ответить с цитированием
Старый 26.04.2013, 21:20   #24
intmain
Играюсь с Python
Форумчанин
 
Аватар для intmain
 
Регистрация: 12.12.2012
Сообщений: 340
Лампочка

Цитата:
что измеряется
Загрузка гпу
Загрузка пропускной способности памяти
Частоты памяти / ядра
Температура
Что-то еще...

Цитата:
и как
Ну для этого нужно копатьcя в исходниках драйверов, чего естественно никто не позволит в добавок нужно знать архетектуру видеочипа устройства его блоков, схемы работы, профили производительности. Можно лишь теоретически по рассуждать что видеочип автоматически сохраняет данные о своей текущей деятельности в неких регистрах которые драйвер считывает и предает пользователю.

Как это может быть устроен подсчет такой статистики? Тут опять можно лишь гадать на кофейной гуще и строить предположения.
Предположим у вас есть 8 или 888 ядер, похожих как близняшки. У каждого ядра есть счетчик кол-ва операций который он пролопатил за последнюю секунду. Вы знаете какое кол-во операций в сек. максимум может выполнить одно ядро. И затем по велению из вне ядра аккумулируют свою статистику в общий регистр и затем как я писал выше данные предоставляются пользователю.

В конечном итоге вы же верите индикатору топлива в вашем авто? Или сомневаетесь, не доверяете разработчикам авто?)
Что ел то - в долг, что жил то - зря.
Для избранных. ))
Секретные разработки
intmain вне форума Ответить с цитированием
Старый 26.04.2013, 22:01   #25
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
В конечном итоге вы же верите индикатору топлива в вашем авто? Или сомневаетесь, не доверяете разработчикам авто?)
у меня знакомый зная как показывает данные датчик, 40км проехал ну пустом баке(по датчику)
Цитата:
Ну для этого нужно копатьcя в исходниках драйверов, чего естественно никто не позволит в добавок нужно знать архетектуру видеочипа устройства его блоков, схемы работы, профили производительности. Можно лишь теоретически по рассуждать что видеочип автоматически сохраняет данные о своей текущей деятельности в неких регистрах которые драйвер считывает и предает пользователю.

Как это может быть устроен подсчет такой статистики? Тут опять можно лишь гадать на кофейной гуще и строить предположения.
Предположим у вас есть 8 или 888 ядер, похожих как близняшки. У каждого ядра есть счетчик кол-ва операций который он пролопатил за последнюю секунду. Вы знаете какое кол-во операций в сек. максимум может выполнить одно ядро. И затем по велению из вне ядра аккумулируют свою статистику в общий регистр и затем как я писал выше данные предоставляются пользователю.
вот именно, что тут неизвесно можно ли верить этим данным, и откуда эти данные.

данные на датчике топлива известно откуда.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 26.04.2013, 22:25   #26
intmain
Играюсь с Python
Форумчанин
 
Аватар для intmain
 
Регистрация: 12.12.2012
Сообщений: 340
По умолчанию

Цитата:
у меня знакомый зная как показывает данные датчик, 40км проехал ну пустом баке(по датчику)
а думаете он проектировался для того чтобы вас (или вашего друга) ставить перед фактом отсутствия топлива ? ))

Цитата:
вот именно, что тут неизвесно можно ли верить этим данным, и откуда эти данные.
все там известно, нужны ли делали иной раз - другой вопрос.
Что ел то - в долг, что жил то - зря.
Для избранных. ))
Секретные разработки
intmain вне форума Ответить с цитированием
Старый 27.04.2013, 00:40   #27
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
а думаете он проектировался для того чтобы вас (или вашего друга) ставить перед фактом отсутствия топлива ? ))
для этого он и создан, сигнализировать об уровне топлива, но там есть погрешность измерений.
Цитата:
все там известно, нужны ли делали иной раз - другой вопрос.
у вас полная техническая спецификация на видеокарту? значит нет деталей.
все эти показатели не дадут полноты картины, для этого всего надо оценивать производительность при влиянии разных факторов, а там их куда больше.

Цитата:
показатель memory controller
как вы думаете что он показывает?
1)загруженность контролера памяти при передаче данных внутри карты
2)загруженность контролера при передаче данных в карту(из нее)
3)а может загруженность шины PCI?
4)etc

известно одно, падение производительности при следовании рекомендациям будет незначительно, чем при их нарушении.
видеокарты любят много данных на одно и тоже действие.
то есть, умножить 8 чисел одновременно на другие 8, ей быстрее чем раздельно по 1-му.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось Пепел Феникса; 27.04.2013 в 01:04.
Пепел Феникса вне форума Ответить с цитированием
Старый 27.04.2013, 06:06   #28
intmain
Играюсь с Python
Форумчанин
 
Аватар для intmain
 
Регистрация: 12.12.2012
Сообщений: 340
По умолчанию

Цитата:
загруженность контролера памяти при передаче данных внутри карты
2)загруженность контролера при передаче данных в карту(из нее)
это наиболее правдоподобные варианты. во время реальной работы именно они нас и интересуют.
Что ел то - в долг, что жил то - зря.
Для избранных. ))
Секретные разработки

Последний раз редактировалось intmain; 27.04.2013 в 09:17.
intmain вне форума Ответить с цитированием
Старый 27.04.2013, 13:09   #29
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от intmain Посмотреть сообщение
Загрузка гпу
Что именно подразумевается под загрузкой GPU?
Цитата:
Загрузка пропускной способности памяти
А что под этим подразумевается?
Цитата:
Частоты памяти / ядра
Температура
Что-то еще...
А оно нам надо?
Цитата:
Ну для этого нужно копатьcя в исходниках драйверов,
Не так.
Зтобы понять, что и как измеряется, нам нужно знать алгоритм, по которому производится измерение. Один из способов узнать это (кстати, не самый прямой) - копаться в драйверах.
Цитата:
добавок нужно знать архетектуру видеочипа устройства его блоков, схемы работы, профили производительности.
Совершенно верно.
Без этого мы ничего не сможем сказать о том, что на самом деле измеряется, и правильно ли это делается.
Цитата:
Можно лишь теоретически по рассуждать что видеочип автоматически сохраняет данные о своей текущей деятельности в неких регистрах которые драйвер считывает и предает пользователю.
А как Вы сами думаете, видяхе оно нужно?

Честно говоря, никогда не пытался разобраться в тонкостях работы GPU. Имею представление только о работе CPU. Так вот, никаких регистров, по состоянию которых можно было бы судить о его "загрузке" нет.
Более того, я не очень представляю, как сам CPU мог бы об этом узнать (на аппаратном уровне).
Цитата:
Как это может быть устроен подсчет такой статистики? Тут опять можно лишь гадать на кофейной гуще и строить предположения.
В таких условиях вряд ли стоит приводить цифры (либо ссылки на цифры), которые неизвестно как получаются, и неизвестно, что характеризуют.
Цитата:
Предположим у вас есть 8 или 888 ядер, похожих как близняшки. У каждого ядра есть счетчик кол-ва операций который он пролопатил за последнюю секунду.
Очень смелое предположение.
Могу сказать сразу - такого счетчика нет.
И не может быть.
Цитата:
Вы знаете какое кол-во операций в сек. максимум может выполнить одно ядро. И затем по велению из вне ядра аккумулируют свою статистику в общий регистр и затем как я писал выше данные предоставляются пользователю.
Ну да, ну да...
Помню как-то возник спор на автомобильном форуме. Я задал вопрос: Откуда бортовой компьютер знает о скорости движения, и получил ответ:
- Он знает о ней всегда!
Занавес!
Цитата:
В конечном итоге вы же верите индикатору топлива в вашем авто? Или сомневаетесь, не доверяете разработчикам авто?)
Вы будете смеяться, но:
1. Я знаю принцип работы и того и другого.
2. Я заню о возможных погрешностях и их источниках.
3. Я предпринял специальные меры, чтобы выяснить величину и знак этих погрешностей.
4. Я всегда, когда смотрю на приборы, корректирую их показания в уме с учетом известной мне информации.
s-andriano вне форума Ответить с цитированием
Старый 27.04.2013, 13:37   #30
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от intmain Посмотреть сообщение
все там известно,
Ну, раз известно, то - расскажите нам.
s-andriano вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
запись ln в квадрате Olgaandsasha Помощь студентам 3 05.03.2012 16:19
среди членов последовательности 1+n,2+n(в квадрате), 3+n(в кубе),4+n(в четвертой степени)..... amikulia Помощь студентам 1 14.01.2011 22:32
Указатель в квадрате Golovastik Общие вопросы C/C++ 2 10.09.2009 18:54
WebBrowser в квадрате VenMaster Компоненты Delphi 2 03.06.2008 08:27