Мы здесь переходим на 64-разрядные ОС, а программисты (от кот., между прочим, зависит смысл этого перехода) сомневаются в эффективности 64-бит в принципе, особенно для игр.
Т.е. вплоть до того, что, например, те же игры не только не выиграют, а даже проиграют от такого перехода!
В общем, делимся своим мнением по этому вопросу.
П.с. Что касается меня, то я просто в недоумении...
____________________________________________________________________
Ray Adams
Цитата:
Ну если его код в 64 битном исполнении тормозит, то это не значит, что писать под 64 бита это плохо. ну не виджит человек в этом никакой для себя пользы, ну и пусть и дальше так не видит. 64 бита от этого не пострадают. Я сам программист и знаю, как часто просто из-за врождённой для каждого программера лени, нет никакой охоты переписывать что-то под новую платформу. И тем более оптимизировать. А уж консерватизм программистов это вообще притча и т.д.
Можно конечно тупо перекомпилировать, но такой в лоб подход не всегда принесёт пользу. Можешь программеру показать Кризис. Что 64 , что 32 в принципе идут одинаково в плане скорости! Но! При таких обьемах текстур и всего остального 64 бита дают выигрыш хотябы в том, что памяти для игры будет больше чем 2 гига.
Грецкий!
Цитата:
-AG- писал(а): Есть ли реальные преимущества 64-бит над 32-мя, кроме расширения адресного пространства?
Да. -AG- писал(а): Все ли типы приложений выиграют при переходе на 64-битный код?
Ряду приложений никакой разницы. -AG- писал(а): Может ли 64-битный код ускорить работу приложения?
Да, но не каждого. -AG- писал(а): Не может ли получиться так, что само расширение адресного пространства в ряде случаев вызовет снижение эффективности работы кода, например, в результате увеличения задержки при работе с большим количеством случайных данных малого объема?
Нет. -AG- писал(а): Наконец, насколько эффективен (или наоборот) переход на 64-бит в игровых приложениях, в частности для расчета сложных матмоделей симуляторов, физики, искуственного интеллекта?
В целом, чем больше вычислений с высокой точностью, тем больше прирост. Надо иметь ввиду, что процессор во время игры занимается непосредственно вычислениями далеко не все время (зависит от самой игры).
Это обсуждалось и достаточно давно.
-AG-
Цитата:
Цитата:
Грецкий! писал(а):
-AG- писал(а): Есть ли реальные преимущества 64-бит над 32-мя, кроме расширения адресного пространства? Да.
Не могли бы вы конкретизировать, какие? Грецкий! писал(а): В целом, чем больше вычислений с высокой точностью, тем больше прирост. Надо иметь ввиду, что процессор во время игры занимается непосредственно вычислениями далеко не все время (зависит от самой игры).
Я так понимаю, что особенно строгим и точным в матмоделях симуляторам переход на 64-бит пошел бы только на пользу?
Obscury
Цитата:
Грецкий! писал(а): -AG писал(а): Есть ли реальные преимущества 64-бит над 32-мя, кроме расширения адресного пространства? Да.
Какие, например? Я кроме увеличения адресного пространства никаких преимуществ не вижу. В своей программисткой практике очень редко сталкивался с необходимостью в 64 битном типе данных. Возможно для каких-то финансовых программ это может помочь, где ещё, даже не знаю. Что касается научных программ, то тут в основном всё вертится вокруг FPU, а на мощность типов double, float и др. битность процессора не влияет. Игровые миры строятся процессором в действительных числах (т.е. здесь тоже важнее FPU), кроме того, в играх больше используются регистры SSEx, которые и так 128 битные и их битность не зависит от битности процессора. Физика - это тоже FPU. Есть, конечно, ещё AI - может там можно что-то выиграть, сомнительно... А вот расхож памяти увеличится, так как указатели (адреса) теперь 8 байт занимают ...
DenisMak
Цитата:
по теме: по 64 битам я вижу 2 как минимум очень ценных + -больше памяти без лишнего геммора -регистров в 2 раз больше и они в 2 раза шире - больше можно хранить в регистрах не обращаясь к кешу совсем и один маленький плюс - 64битные данные обрабатываются/могут обрабатываться одной командой вместо... как часто это используется зависит от задачи
но за это надо платить: -больший перерасход памяти начиная с указателей ... -контекст задачи становится больше и переключение его занимает больше времени (это как догадка, нигде не читал про 64битный режим) -(где то здесь на форуме прочитал) возрастает нагрузка на пропускную способность того же кеша (... которая в результате может тормозить, но тоже измерить это стандартными средствами не вижу как.) и кеш хранит меньше параметров хоть и при том же обьёме (размерность параметров увеличивается) (противовес большему кол-ву РОНов)
в общем для себя вижу такую картину - увеличение возможностей использования памяти и скорости части мелких алгоритмов (тут всё сильно зависит от задачи и может действительно быть и 0% прироста а может и >100% достичь если разрядность нужна + новые регистры уменьшат обращение к кешу) за счёт уменьшения производительности _в некоторых/особых_ случаях
это только моё мнение
asmfan
Цитата:
DenisMak писал(а): но за это надо платить: -больший перерасход памяти начиная с указателей ...
Они кодируются RIP'ом в 4 байта как и абсолютные указатели в 32битах. Нет недостатков. DenisMak писал(а): -контекст задачи становится больше и переключение его занимает больше времени (это как догадка, нигде не читал про 64битный режим)
используются те же инструкции, благо в них заложен буфер подходящий для 32/64 битн. режимов. А запись 8ми (для целоцичленных) и 8ми для ХММ дополнительных регистров не сильно замедляет дела. Нет недостатков.
+Скорость набирается за счёт конвенции вызовов в 64 битах - стек приложения приблизительно постоянен всегда, как неплавающий буфер, т.е. не приходится перемещать указатель стека и выделять новую память. Очень удобно и быстро.
+для тех, кто не знает, 4 первые параметра ф-ий передаются через регистры, и не пишите про якобы "злоупотребление" вызовами мелких ф-ий - это не вредит по большому счёту.
Цитата:
pusha/popa нет в 64 битах. API и конвенции вызова для 64 бит предусматривают передачу первых 4х парамтров как через РОН так и ХММ, либо через те и те одновременно в определённых ситуациях. Под 64 бит ОС 64 выигрывают у 32 из-за отсутствия WOW переходников, посему никакие рекомендации мол если меньше 3х гигов и проч. не должны смущать. Если писать универсальный код, то перекомпиляции ис-под С/С++ компилера будет достаточно. size_t, *_PTR, прочие макро- и просто фичи для компилера.
Последний раз редактировалось -AG- 01.08.2008 15:14, всего редактировалось 4 раз(а).
Advanced member
Статус: Не в сети Регистрация: 09.06.2003 Откуда: USSR
Ну если его код в 64 битном исполнении тормозит, то это не значит, что писать под 64 бита это плохо. ну не виджит человек в этом никакой для себя пользы, ну и пусть и дальше так не видит. 64 бита от этого не пострадают. Я сам программист и знаю, как часто просто из-за врождённой для каждого программера лени, нет никакой охоты переписывать что-то под новую платформу. И тем более оптимизировать. А уж консерватизм программистов это вообще притча и т.д.
Можно конечно тупо перекомпилировать, но такой в лоб подход не всегда принесёт пользу.
Можешь программеру показать Кризис. Что 64 , что 32 в принципе идут одинаково в плане скорости! Но! При таких обьемах текстур и всего остального 64 бита дают выигрыш хотябы в том, что памяти для игры будет больше чем 2 гига.
Да уж, в 32-битной Viste вот как-то не получается использовать все 4 Гб ОЗУ (3,2 Гб только видны - "остальные в мусорку").
Так что сказки о пользе 32бит пусть рассказывает лохам.
Member
Статус: Не в сети Регистрация: 12.03.2005 Откуда: Sumy (UA)
Advocate писал(а):
Так что сказки о пользе 32бит пусть рассказывает лохам.
Вначале их нужно убедить, что многоядерность- это вредно
_________________ ЭТО Я НЕТЕРПЕЛИВЫЙ!?!!?Да я Сталкера прошел,не зная что можно бегать! Как убивать друзей в STALKER: people.overclockers.ru/SilentF/record2
Member
Статус: Не в сети Регистрация: 15.09.2006 Откуда: Латвия, Рига
Угу, если новые платформы это так "вредно" как говорят некие программеры, то пусть нормально пишут совт, чтобы невылазило за пределы 2-х гигов оперативы и нормально работало на обычном одноядернике, особенно это относится к игроделам, с их мультиплатформами мощь современных настольных систем простаивает или занята бессмысленными нагрузками, как в томже NFS Carbon одна и таже текстура гонялась по интерфейсу PCI-E туда-сюда десятками раз, в результате я просто офигел, когда разогнал PCI-E на видяхе(тогда у меня ещё была жива P5N32-E SLI PLUS) с полтора раза и настолькоже вырос FPS, при прочем равном.
_________________ Небо голубое, вода мокрая, трава зеленая - жизнь дерьмо! В море сыро, солёно, мокро и холодно!
Я предлагаю меньше эмоций и больше конструктива.
Есть ли реальные преимущества 64-бит над 32-мя, кроме расширения адресного пространства?
Все ли типы приложений выиграют при переходе на 64-битный код?
Может ли 64-битный код ускорить работу приложения?
Не может ли получиться так, что само расширение адресного пространства в ряде случаев вызовет снижение эффективности работы кода, например, в результате увеличения задержки при работе с большим количеством случайных данных малого объема?
Наконец, насколько эффективен (или наоборот) переход на 64-бит в игровых приложениях, в частности для расчета сложных матмоделей симуляторов, физики, искуственного интеллекта?
П.с. Кстати, вышеуказанный программист оценивает максимальное повышение производительности в играх от поддержки многоядерности всего в 15 % на ядро. Это крайне мало, и ставит под вопрос повышение производительности одиночного непрофессионального приложения путем наращивания ядер в процессорах.
Member
Статус: Не в сети Регистрация: 16.11.2003 Откуда: KZN
По собственному опыту скажу, что ни в одной копии игры, запущенной в 64-разрядной системе, я не увидел заметного выигрыша в качестве и скорости над ее копией, запущенной в 32-разрядной. Даже в пресловутом Кризисе и Фаркрае. Обычно получается - проигрыш в скорости при равном качестве. Т.е. ни 64 разряда против 32-х, ни 4 гига против 3-х не дают никакого преимущества современным играм.
Мое мнение - 64-разряда только для профессиональных приложений надолго. До тех пор пока Мелкософт не придумает еще более ресурсоемкую систему или не выйдут приставки нового поколения, на дешевую(с небольшим объемом оперативки) начинку которых ориентируются все разрабы игрового ПО.
По собственному опыту скажу, что ни в одной копии игры, запущенной в 64-разрядной системе, я не увидел заметного выигрыша в качестве и скорости над ее копией, запущенной в 32-разрядной.
Ну, дело, наверно, еще и в том, что, по-сути, ни одной "нативной" 64-разрядной игры и не выпущено.
Вопрос в том, даст ли выигрыш/проигрыш программирование изначально и только под 64-бит?
И что этот программист сделал такого что-бы его слушть? Учавствовал в разработке крайзиса? я об существовании СЯ только сегодня узнал...
Цитата:
Можешь программеру показать Кризис. Что 64 , что 32 в принципе идут одинаково в плане скорости! Но! При таких обьемах текстур и всего остального 64 бита дают выигрыш хотябы в том, что памяти для игры будет больше чем 2 гига.
в 64-хбитном крайзисе все текстуры загружаются сразу в максимальном качестве. т. .е если с максиммум спид подбежать к танку спиной и развернутся то в 32-хбитной версии текстуры танка начнут улучшатся.
ставте 64 бит и не парьтесь. для старых и 16-битных игр можете оставить 32-хбитку...
Цитата:
а даже проиграют от такого перехода!
ха! мизерные проценты. и когда играм понадобится более 2-х гигов памяти для себя не с чем будет сравнивать ))
_________________ Библиотеки Windows - Мы заставим ваши папки тормозить!
И что этот программист сделал такого что-бы его слушть? Учавствовал в разработке крайзиса? я об существовании СЯ только сегодня узнал...
Не стоит отзываться в столь презрительном тоне.
СЯ предполагает несравненно более "интеллектуальное" программирование сложных матмоделей физики и искусственного интеллекта, чем "пустой" Кризис, в кот. одни текстуры и шейдеры .
Врочем, и так ясно, что если вам нужно передать кучу текстур запредельного разрешения, кот. элементарно не влезают в память, то 64-бит - это единственный выход.
Что насчет чистых вычислительных алгоритмов и многократного случайного обращения к памяти?
Последний раз редактировалось -AG- 31.07.2008 16:07, всего редактировалось 1 раз.
Ну, и что там такого сложного может быть с физикой? этоже не самолётный симулятор... игра не ресурсоёмкая= бюджет маленький= плевали авторы на х64бита= зачем им обсуждать то что им абсолютно не нужно?
_________________ Библиотеки Windows - Мы заставим ваши папки тормозить!
Ну, и что там такого сложного может быть с физикой?
Вы поиграйте
moty писал(а):
игра не ресурсоёмкая= бюджет маленький= плевали авторы на х64бита= зачем им обсуждать то что им абсолютно не нужно?
Плевать-то, может и плевали. Но... пока в этой ветке еще не прозвучало строгих аргументов за 64-бит, кот. можно было бы продемонстрировать этим же программистам. Ждем...
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 26
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения