willow
570 постов
Карма: 56
#1 31 мая 2008 в 19:45
Пришлось немного поломать голову куда поместить данную тему, она скорее уходит в оффтоп, но в тоже время я уверен, что она заинтересует прежде всего разработчиков ПО.<br /><br />Начну с краткого лирического введения, чтобы настроить читателя моего сообщения на правильный ход мыслей.<br />Игры и программы в нынешнем виде это сложнейшие вычислительные задачи, где даже разработчики с трудом представляют что именно происходит в их собственных программах и тем более не понимают как их программа сосуществует с другими программами в огромном мире Операционной Системы. Ни одна Операционная система, её настройки и окружение и загруженный контент не повторяются ни на одном компьютере, даже на офисных машинах где порядок порой как в дисциплинированной армии, везде царит по сути истинная демократия или даже анархия с вирусами и прочими панками. Невольно начинаешь относиться к программе как к живому элементу. Да, программы это творчество, несомненно, но в компьютере существует то, чего нет в ином искусстве - это взаимодействие между этими самыми произведениями искусства где каждая кавычка имеет смысл. И это позволяет мне думать о том, что ОС это зародыш истинного искуственного интеллекта, где выживает самая оптимально сконфигурированная ОС и дополненная актуальными программами-сателлитами.<br /><br />Так, а теперь я перейду собственно к мысли. Меня постоянно посещает мысль о том, что чтобы программа успешно жила в мире Операционных Систем она должна оставаться постоянно актуальной. Другими словами, она должна постоянно патчиться, перевыпускаться, переписываться, дополняться и так бесконечно во времени пока она всё ещё актуальна и решает свои задачи. Живая программа, которая находится в постоянном центре внимания её разработчика, работает почти всегда лучше, чем более навороченный и забытый аналог с заделом на будущее. Как моё предвидение, в связи с всё более сложным и постоянно дорожающим процессом разработки программ, этот самый процесс будет смещаться именно к развитию, мутированию этих самых идей, процессов - и мы будем получать по сути одни и те же игры, похожие программы, но под разными именами и в разных обёртках. Это в точности повторяет эволюцию живых видов. Мы более не получим новый жанр игры или принципиальную иную программу, т.к. стоимость её разрабоки затмит возможные выгоды (денежную отдачу).<br /><br />Что вы думаете по этому поводу, есть ли у вас своё понимание что такое программа и по каким законам они будут разрабатываться и развиваться в ближайшем будущем?
Amon
662 постов
Карма: 25
#2 01 июня 2008 в 06:38
а как же некоммерческие разработки?<br />написаная энтузиастом игра, технически простая как две копейки с зарплаты, но с увлекательным геймплеем и новаторскими фишками. или маленикая утилита узкой направленности
не заметил как рокета долетела до меня
и теперь не квакер я, а по полу размазня
willow
570 постов
Карма: 56
#3 24 июня 2008 в 20:40
Продолжу думать вслух, если никто не против&nbsp; ::)<br /><br />PhysX<br /><br />Ускорение физических расчётов неизбежно. Как вы знаете, эта тема очень актуальна и все крупные игроки на хардварном рынке пытаются составить план действий на ближайшее время. Перспективные мелкие движки скупаются гигантами. Ageia была поглощена Nvidia. И вот что меня интересует: специальный выделенный физический ускоритель от Ageia не прижился. При этом на мой вгляд он всего лишь был неправильно рекламирован. В памяти прочно засели ненавистные груды коробок, шаров и кучи мусора от взрывов. Конечно, это азы и технологически нужно проходить такой букварь но вот не стоило выставлять это напоказ и тем более ассоциировать ЭТО с аппаратной акселлерацией. Например, без акселлератора меньше коробок, с акселлератором больше. Это же явная антиреклама! Нужно что-то более понятное, запоминающееся, бессовестное как реклама табака или пива. Например, сделали бы демку с девушкой - с акселем одежда со всеми складками просчитывается аппаратно, без акселя модель уже &quot;одетая&quot;. Ну это было бы уже понятно на уровне мозжечка, на что уходит вычислительная мощь и что без этого теперь никак нельзя и за этим будущее. Народ бы заговорил &quot;а ну как её..&quot;, об интерактивности, о том когда появится новый аксель и т.д.<br />Ну да ладно, что имеем то имеем.<br /><br />А имеем технологию CUDA и портированный на её использование движок PhysX. На практике шейдерные блоки видеокарты будут считать физические коллизии и прочие ассоциируемые монотонные и безобразно бесконечные вычисления. В честь этого регистры шейдерного процессора для новейших чипов раздвинулись до 64бит чтобы физика не &quot;плыла&quot; из-за погрешностей вычислений.<br /><br />Конечно, напрашивается мысль использовать Б/У видеокарточки карточки именно как физический акселлератор. Но пока всё считает одна видеокарта, и физику и графику.. Меня смущает, что как бы там ни было, но видеокарта никак не может именно эффективно считать что-то там специализированное. КПД будет скажем, невысокий. Но в тоже время КПД уже значительно лучше ЦП за счёт того, что видеопроцессор рассчитан на массивные параллельные вычисления.<br />Главная моя мысль к которой я так долго шёл - это когда уже понятие &quot;ускорение физики&quot; прочно уложится в головах, а игры затребуют серьёзные вычислительные мощности то появится именно &quot;физический&quot; акселлератор как самостоятельное и необходимое решение.<br /><br />AMD же давно говорит о том, что процессор должен состоять из разнородных специализированных ядер. Тоже здравое зерно, безусловно. Но пока нет конкретных шагов что и смущает.<br /><br />Интересно, кто же окажется более дальновидным?
VorteX
341 постов
Карма: 60
#4 25 июня 2008 в 06:27
Имхо на данный момент область применение физического акселератора определяется только играми, плюс физика - это как ни крути все же второстепенный элемент игрового процесса. Исключения есть, но это в целом ничтожная доля рынка.<br /><br />
Но пока нет конкретных шагов что и смущает.
Для реализации хорошей аппаратной физики есть глобальная проблема - вся та мишура которой обросла современная &#39;процессорная&#39; физика. Её просто нереально полноценно заменить <br />&#39;железным&#39; ускорителем, да еще и одним (а покупатель любит так и только так). Если посмотреть сорцы больших движков то сложная комплексная физика с множеством фич опутывает весь сурец как водоросль, содержит кучу хаков и систем предсказания распыляясь при этом почти на все главные системы движка - и серверные и клиентские, физика в одну подключаемую либу как раз и может дать только падающие коробки. Даже RagDoll уже довольно сложен при реализации мультиплеера. Идеальный физический процессор имхо должен находиться в середине треугольника &#39;Аудиокарта&lt;-CPU-&gt;Видеокарта&#39;, всем этим трем модулям понядобится информация о ходе симуляции, причем каждому - своя. Антиреклама не требуется, физический ускоритель сам по себе не может быть сейчас панацеей как в свое время стал видеоускоритель - он только расширит базовую лимитацию при разработке игры.<br /><br />Вобщем вывод - на данный момент чтобы реализовать качественно новую концепцию аппаратной физики недостаточно просто изобрести чип и .drv/.dll к нему - надо полностью обновлять технологии программирования, и возможно на первых этапах отказаться от многих теперешних технологических фич, а это как известно никому не выгодно - шило на мыло получается.<br /><br />Поэтому однозначно нельзя сказать, за видеоакселями будущее или за отдельными карточками - оба варианта обслуживают несколько различные задачи. Физика на видеокарте например удобна чтобы просчитывать партикли, модели повреждения и пр., но полноценно считать физику мира не сможет, потому что тут нужна достаточно быстрая система отклика, которую удобне всего размещать рядом основными игровыми вычислениями. Физика на процессоре будет охватывать все игровые объекты, а также комбинированные, часть рассчетов по которым будет на CPU/ускорителе, а часть - на видеокарте.<br />
BEEF34T3R
344 постов
Карма: 34
#5 25 июня 2008 в 11:39
Кстати, nVidia уже выложила результаты первых тестов PsysX на GPU вместе с первой бетой драйвера PsysX от nV - см. nvworld.ru<br />В CPU тесте 3DMark Vantage (как раз на физику) GeForce 9800GTX+ с PhysX набрала втрое больше попугаев, чем CPU с программым просчётом физики, а общее число попугаев по результатам всех тестов увеличилось на 10%! Так что даже сейчас будущее физики на GPU выглядит вполне радужно! Хм. хотя в том 3ДМарковском тесте минимизировалась графика, и как бы повела себя видяха, нагруженная рендерингом, если бы на неё ещё и физику повесили пока неизвестно..<br /><br />Кстати и CUDA очень интересная штука, почитайте о ней на том-же nVworld, или отличную статью на thg.ru - во многих задачах она способна превратить обычный PC с мощьной видяхой от GF8 во что-то близкое к суперкомпьютеру, ну а для учёных появилась возможность собрать суперкомпы гораздо дешевле, меньших габбаритов и т.д. + параллельные научные расчёты на домашних компах всех желающих для исследования раковых клеток и др.. Да хотя-бы просто ускорение GUI той же винды и утилит - вполне &quot;жизненное&quot; применение.
//generated by Quake, do not modify
@tex
691 постов
Карма: 65
#6 25 июня 2008 в 19:08
BEEF34T3R<br />я вот прочел,что CUDA это из разряда &quot;мягко стелят - жестко спать&quot;.подкинь сцылок,пжлст,на статейки что ты читал?
сказочка.
жили-были три свиньи - Нах-Нах, Пох-Пох и Пиф-Паф

что ты сделал для Строггоса!? что ты наделал!!!
willow
570 постов
Карма: 56
#7 25 июня 2008 в 19:50
Ну вот, BEEF34T3R это типичный пользователь для которого физика - это очередной тест в бенчмарке. И очень хорошо, что такая предсказуемая реакция и прогнозирование только на ближайший месяц вперёд. Если есть отклик на сейчас, значит можно строить бизнес планы на потом.<br /><br />VorteX<br />Да, ускоритель только физики пожалуй что смотриться коммерчески невыигрышно. Кажется, индустрия подходит к моменту, когда RISC процессоры не обеспечивают должной эффективности. Nvidia более не планирует выпуск чипсетов с дискретной (внешней) графикой, встроенная графика будет всегда.. Вот вам и промежуточное ядро для рутинных, независимых друг от друга вычислений.. Идею с неоднородными ядрами ЦП тоже необходимо развивать опять же для снижения нагрузок на шины.<br />Эх.. так хочется чего-то простого и понятного, программируемого и универсального. Если кончим большим количеством разнообразных ядер и стандартов это будет очень неприятно для любого разработчика.
BEEF34T3R
344 постов
Карма: 34
#8 26 июня 2008 в 11:43
я вот прочел,что CUDA это из разряда &quot;мягко стелят - жестко спать&quot;.подкинь сцылок,пжлст,на статейки что ты читал?
<br />http://nvworld.ru/news/21_06_2008.html#21_06_2008-07<br />http://nvworld.ru/news/26_06_2008.html#26_06_2008-07<br />http://thg.ru/graphic/nvidia_cuda/nvidia_cuda-01.html<br />
Ну вот, BEEF34T3R это типичный пользователь для которого физика - это очередной тест в бенчмарке. И очень хорошо, что такая предсказуемая реакция и прогнозирование только на ближайший месяц вперёд. Если есть отклик на сейчас, значит можно строить бизнес планы на потом.
<br /> :D <br />В изменчивом IT-мире чаще всего жизнеспособнее оказываются динамично развивающиеся девайсы (вроде GPU), чем что-то монументальне револлюционное с заделом на будущее (Ageia), которое не предугадаешь ;)
//generated by Quake, do not modify
willow
570 постов
Карма: 56
#9 26 июня 2008 в 12:44
BEEF34T3R<br />Вообще, чтобы расставить точки над i стоит также упомянуть, что ageia ассоциируется именно со своим софтовым движком и уже потом с железкой. Движки, т.е. именно программная часть в наше время стоят столько, что их приходится покупать вместе с компанией-производителем ;). И портирование их под свои процессоры это личное дело того кто владеет движком. Вопрос ведь в том, что будь это сопроцессор к ЦП он бы выдал в 20 раз больше эффективность fps\ватт в такой задаче как физика. VorteX уже на пальцах объяснил, что физика и игровой год это практически монолит. И задействовать для в принципе частых вычислений аж шейдерный процессор на окраине архитектурой схемы современного ПК, хм, скажем неразумно. Запустите crysis и теперь вот скажите, что у графического проца запал на физику остался, угу ::). Если у ЦП новые сопроцессоры можно задействовать для прочих задач, то гонять данные по шинам туда-сюда от ЦП до видюхи ИМХО, неразумно. То, чего нехватает в современном ЦП это универсального сопроцессора для массивных параллельных вычислений. Так что AMD спит, а время то идёт :-\
VorteX
341 постов
Карма: 60
#10 26 июня 2008 в 13:17
То, чего нехватает в современном ЦП это универсального сопроцессора для массивных параллельных вычислений
Похоже что RISC-архитектуре наконец найдется применение в PC :)