Игропром

Автор clearing, 16 сентября 2010 08:52:25

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

MoroseTroll

LongShad: А чего? Взял бы да просветил нас, грешных и глупых.

nemyax

Лучше не лучше, а перелаз на 64 разряда всё равно неизбежен, как в своё время на 32.
Желаю тебе из тысячи рулеток одну — самую русскую!
Желаю тебе из тысячи надежд одну — самую крупскую!

Chuzhoi

По моим наблюдениям, 64-битные приложения в среднем жрут в два раза больше памяти и работают на 10% быстрее, нежели 32-битные. Но вообще да, перелаз неизбежен.

MoroseTroll

#453
nemyax: С неизбежностью перехода я не спорил. Но зачем это делать, если приложение лопает 4 ГБ памяти или меньше?

Chuzhoi: Какой-нибудь Photoshop, может, так себя и ведёт, а вот с играми не всё так просто. Пример: AC:R. Игра, вышедшая на 360 и PS3, а значит, по определению нетребовательная к памяти, требует аж 2 ГБ оперативки минимум и, внимание, 64-битную версию Windows!

Vorob

#454
ЦитироватьТы не в курсе что x64 прога не заработает на компе с x32 ЦП? И что патч с x32 библиотеками нельзя ставить на программу с x64-кодом?
И как это все оправдывает наличие 4х разных инсталляторов? Поему не запихнуть это все в один ехе? Экономия трех мегабайт?

ЦитироватьДругие софтоделы такое вытворяют. И правильно делают.
Кто что вытворяет?

Максимум деление на 32 / 64 бит. Нико не делает отдельный инсталлер под хр, под висту, под семерку и т.д. Но по мне так лучше вообще 1 ехе файл, пусть дистр хоть в три раза больше весит.

Vorob

ЦитироватьИгра, вышедшая на 360 и PS3, а значит, по определению нетребовательная к памяти

Это былоб верно еслиб там был порт 1в1, а на пк игра всегда выходит лучше, с более четкими текстурами, большей дальностью прорисовки, большим количеством и качеством моделей и т.д.

nemyax

Цитата: Vorob от 05 апреля 2015 19:35:29
Кто что вытворяет?
Microsoft Office тебя устроит? 32/64 бита.
С разными установщиками для каждой версии венды — да, бредятина. Кто разбирается в сборке инсталлятора, умеет распознавать системные пути и читать реестр.
Желаю тебе из тысячи рулеток одну — самую русскую!
Желаю тебе из тысячи надежд одну — самую крупскую!

MoroseTroll

Цитата: Vorob от 05 апреля 2015 19:36:55Это былоб верно еслиб там был порт 1в1, а на пк игра всегда выходит лучше, с более четкими текстурами, большей дальностью прорисовки, большим количеством и качеством моделей и т.д.
Это в идеале, а на практике так бывает далеко не всегда. Да и опять же, это ж секрет Полишинеля, что AC:R использует тот же самый движок, что и AC4. И что, AC4 вся такая требовательная игра, что без 64-х бит ей никак не запуститься? Или AC:R настолько крута, что в 12 ГБ своего объёма вмещает больше, чем AC4 в свои 30 ГБ? Ты же ведь это не всерьёз :)?

Vorob

Очевидно разработка 32х версии это дополнительная работа. Зачем ее делать?

HellRaiser

Цитата: Vorob от 05 апреля 2015 12:28:18
Какие же должны быть кривые руки чтоб пришлось на каждую винду свой инсталлятор делать, почему другие софтоделы такого не вытворяют?
пример: пакет (тот же vc_redistributable) полностью из компонентов x86 и аналогичный пакет для х64: в них нет общих файлов вообще, ну зачем пихать всё это в одну инсталляцию? С другой стороны MS почему-то  считают, что приложение работает лучше на своей платформе и экзешники делают соответственно 64-битный для x64 установки и 32-битный для 32-х.  Возможно, это бред, когда речь идёт о нескольких метрах, т.к. большинство инсталляторов неплохо конфигурится на любые варианты установки (разные ОС, архитектуры, наличие установленных ранее версий и пр.)

Цитата: LongShad от 05 апреля 2015 16:47:31
ЦитироватьИ в чём эта "лучшесть" проявляется?
Мне лень объяснять, извини.
Мне тоже лениво, но попробую выразиться "сжато".

В любой архитектуре вопрос расхода ЦП и памяти, скорее философский, чем практический. Всегда придётся жертвовать одним в пользу другого. В 64-битных приложениях с памятью работа чуть лучше, ибо оперировать приходится с большими кусками памяти, сокращая при этом накладные расходы (если никто не забыл: в самом низу системы диспетчер один хрен выделяет память сегментами, как ни крути, а попросить заранее здоровый сегмент, хоть и не круто, но зато диспетчер часто не беспокоить не нужно, сокращая тем самым лишние накладные расходы) Более того, элементарные операции самого ЦП будут работать чуть лучше, ибо гонять 8-байтные данные по регистрам всё же шустрее, чем 4-байтные. Использование более длинных указателей даст прирост памяти не более 10% (у вас же не вся программа на них написана, так?), а размер памяти, на которую указывает поинтер, никак не зависит от архитектуры (если только прогер с дуру не навтыкал в свой код платформозависимых типов).

Ещё один важный момент: оптимизация. Не знаю как щас, но однажды попался в глаза жутчайший ассемблерный кусок, который делал двойное сложение старших и младших частей 8-байтного числа через 32-битные регистры. Приложение было х64  :doh:

Могу сделать такой вывод:
х64 проги работают действительно процентов на 10-20 быстрее, памяти жрут в среднем не в 2 а в 1.5 раза больше (зависит от прямоты рук программистов и кривизны библиотек классов, которыми они пользуются).
Но сдаётся мне, что при работе с большими (а точнее - огромными) объёмами данных, разница будет более существенной в пользу х64.

Цитата: nemyax от 05 апреля 2015 17:12:36
Лучше не лучше, а перелаз на 64 разряда всё равно неизбежен, как в своё время на 32.
Это факт.

MoroseTroll

Цитата: Vorob от 06 апреля 2015 01:30:28Очевидно разработка 32х версии это дополнительная работа. Зачем ее делать?
32-битная версия программы (в данном случае - игры) гарантированно будет работать и из-под 32-битной, и из-под 64-битной версии Windows. А вот 64-битная версия программы, очевидно, будет работать только из-под соответствующей версии Windows. Так зачем тогда создавать последнюю, если она использует не более 4 ГБ памяти?

HellRaiser: Я знаю все эти технические моменты - у меня есть опыт работы и в Си, и в Ассемблере. Мой вопрос был несколько более конкретен: зачем создавать 64-битное приложение тогда, когда с поставленной задачей справится и 32-битное? Про операции с большими числами рассказывать не надо: кому надо, тот это сделает при помощи SSE2 и последующих расширений куда быстрее, чем при помощи просто x64. Про 10-20% прироста в скорости тоже не надо рассказывать, потому как мне так никто и не объяснил, почему же 64-битная версия T2014 работала медленнее и нестабильнее, чем 32-битная.

HellRaiser

Цитата: MoroseTroll от 06 апреля 2015 10:09:10
Я знаю все эти технические моменты
Я знаю, что ты знаешь ;)

Цитата: MoroseTroll от 06 апреля 2015 10:09:10
кому надо, тот это сделает при помощи SSE2 и последующих расширений куда быстрее, чем при помощи просто x64.
Никто не даёт гарантию, что последующие расширения у Intel и AMD будут работать идентично, ровно как на 100% нельзя утверждать, что текущие полностью совместимы. Это уже печально. Ещё печальнее будет, когда ребята из Intel одной конторы скажут ребятам из AMD другой: да идите вы со своими инструкциями, мы реализуем свои собственные, с блекждеком и шлюхами (что вроде как однажды было и AMD-шникам пришлось прогибаться).
А дальше поползёт как снежный ком: копиляторы, оптимизации кода и т.д. (буду очень рад, если я окажусь неправ и такого никогда не случится).

Цитата: MoroseTroll от 06 апреля 2015 10:09:10
почему же 64-битная версия T2014 работала медленнее и нестабильнее, чем 32-битная.
Тут можно гадать, но скорее всего разработчики UE просто плохо/недостаточно поработали над этим.

Vorob

#462
Цитировать32-битная версия программы (в данном случае - игры) гарантированно будет работать и из-под 32-битной, и из-под 64-битной версии Windows. А вот 64-битная версия программы, очевидно, будет работать только из-под соответствующей версии Windows. Так зачем тогда создавать последнюю, если она использует не более 4 ГБ памяти?

Ты точно замерял сколько она использует гигов?

Я вот знаю что Warlock II: The Exiled, которая простенькая пошаговая стратегия, жрет будь здоров ибо там продвинутые рассчеты и т.д.

Но вообще, положа руку на сердце, у нас что так много игровых машин осталось которые имеют 32х битную винду и 4гб оперативки? По мне так люди с таким железом играют по прежнему в игры 7летней давности. Ну кроме ксионуса/лонгшарда который слайдшоу любит гонять

MoroseTroll

Цитата: HellRaiser от 06 апреля 2015 10:33:27Никто не даёт гарантию, что последующие расширения у Intel и AMD будут работать идентично
Для этого есть кросс-лицензионное соглашение между этими конторами, позволяющее свободно пользоваться новыми наборами инструкций друг дружки с одним условием - двоичной совместимостью.
Цитата: HellRaiser от 06 апреля 2015 10:33:27ровно как на 100% нельзя утверждать, что текущие полностью совместимы.
А они совместимы на все 100%, хотя различия всё же есть - операции векторного деления процессоры AMD выполняют точнее ;D.
Цитата: HellRaiser от 06 апреля 2015 10:33:27Это уже печально. Ещё печальнее будет, когда ребята из Intel одной конторы скажут ребятам из AMD другой: да идите вы со своими инструкциями, мы реализуем свои собственные, с блекждеком и шлюхами (что вроде как однажды было и AMD-шникам пришлось прогибаться).
FTC не позволит, иначе Intel уже давно бы так и сделала.
Цитата: HellRaiser от 06 апреля 2015 10:33:27Тут можно гадать, но скорее всего разработчики UE просто плохо/недостаточно поработали над этим.
Т.е. суровая реальность разбила прекрасную мечту? В исходниках UE3 почти нет ассемблерных вставок, из чего мы делаем вывод, что 64-битная версия T2014 работала медленнее и нестабильнее из-за того, что 64-битный код, в её случае, не принёс с собой никаких преимуществ, а одни лишь недостатки.

Цитата: Vorob от 06 апреля 2015 10:40:56Ты точно замерял сколько она использует гигов?
Мне рассказать про CoD:Ghosts, требовавшей сначала аж 6 ГБ оперативки, но, как оказалось, потреблявшей всего 1,5-2 ГБ? Упомянутые мной 4,5 ГБ лимита - общеизвестная цифра для XBO & PS4. Может, когда-нибудь, в будущем, играм на приставках отдадут сперва 5, потом 6, или даже 7 ГБ, но сейчас лимит именно 4,5 ГБ. Но что самое интересное, даже это значение требуется только самым тяжёлым играм, потому что той же BF4 хватает на ПК всего 3 ГБ, а фантастически красивым Ryse и Crysis 3 и того меньше - 2,8 и 2,2 ГБ, соответственно.
Цитата: Vorob от 06 апреля 2015 10:40:56Я вот знаю что Warlock II: The Exiled, которая простенькая пошаговая стратегия, жрет будь здоров ибо там продвинутые рассчеты и т.д.
Любую программу можно написать так, что она будет требовать огромное количество ресурсов. Вспомни, какие вещи выходили на PS3, имеющей самую уродливую внутреннюю архитектуру. Ты можешь себе представить, что серия Uncharted, The Last of Us, Metro: Last Light и прочие вкусняшки работали с 256 МБ оперативной памяти, из которой было доступно лишь около 200 (а поначалу и того меньше)?
Цитата: Vorob от 06 апреля 2015 10:40:56Но вообще, положа руку на сердце, у нас что так много игровых машин осталось которые имеют 32х битную винду и 4гб оперативки?
Полно машин, которые обладают 2-3-4 ГБ, но при этом эксплуатируют 32-битные версии Windows 7/8/8.1.

nemyax

Цитата: MoroseTroll от 06 апреля 2015 11:00:56
операции векторного деления процессоры AMD выполняют точнее
Что такое векторное деление?
Желаю тебе из тысячи рулеток одну — самую русскую!
Желаю тебе из тысячи надежд одну — самую крупскую!