English Новый сайт

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

[ Новые сообщения · Пользователи · Правила ]
Страница 1 из 11
Форум » SpaceEngine » Архив » x86-64 (Насколько реально собрать?)
x86-64
SauronДата: Вторник, 04.12.2012, 04:03 | Сообщение # 1
Нет аватара
Космонавт
Группа: Пользователи
Российская Федерация
Сообщений: 53
Награды: 0
Статус: Offline
Вопрос на засыпку, а были попытки собрать 64 битную версию движка? Вроде бы все зависимые библиотечки есть в 64 битном исполнении, да я для самого движка 64 бита вполне имеют смысл.
BamBamДата: Вторник, 04.12.2012, 04:14 | Сообщение # 2
Исследователь
Группа: Пользователи
Украина
Сообщений: 177
Награды: 1
Статус: Offline
так а смысл? 64хбитная система поддерживает 32хбитные приложения, а 32хбитная система не поддерживает 64хбитные приложения smile
Или ты предполагаешь, что 64битный SE будет эффективней работать под 64битную систему?... Имхо, не факт даже.


когда придумывал ник моя фантазия умерла

Сообщение отредактировал BamBam - Вторник, 04.12.2012, 04:15
NuclearCHEДата: Вторник, 04.12.2012, 04:19 | Сообщение # 3
Первооткрыватель
Группа: Пользователи
Российская Федерация
Сообщений: 435
Награды: 0
Статус: Offline
Sauron, основные расчёты на видеокарте, 64 не нужна.

Config: Gigabyte GTX 770 (2048 MB/256 bit) , Intel Core i5 2400 3,1GHz, 8Gb DDR3, W10 x64
SauronДата: Вторник, 04.12.2012, 16:31 | Сообщение # 4
Нет аватара
Космонавт
Группа: Пользователи
Российская Федерация
Сообщений: 53
Награды: 0
Статус: Offline
А ничего, что 32 битная версия не может адресовать больше, чем 2 гигабайта адресного пространства? И в общем-то тут скорее вопрос в ловле платформозависимых глюков. При портировании на Линукс или тем более Макос собрать 64 битную версию таки хочешь не хочешь, а придется.
ZIHAMMER1411Дата: Вторник, 04.12.2012, 16:35 | Сообщение # 5
Нет аватара
Звёздный Инженер
Группа: Пользователи
Российская Федерация
Сообщений: 1220
Награды: 8
Статус: Offline
Quote (Sauron)
А ничего, что 32 битная версия не может адресовать больше, чем 2 гигабайта адресного пространства?

Для SE этого вполне хватает.
SpaceEngineerДата: Вторник, 04.12.2012, 20:38 | Сообщение # 6
Автор Space Engine
Группа: Администраторы
Российская Федерация
Сообщений: 5542
Награды: 54
Статус: Offline
Не 2 Гб, а 4 - есть способ. А для 64 бит придется много всего переделывать, и дело не в библиотеках, а как раз в адресации памяти. В SE активно используются указатели, так вот их всех придется переделать на 64-битные.

SauronДата: Среда, 05.12.2012, 01:31 | Сообщение # 7
Нет аватара
Космонавт
Группа: Пользователи
Российская Федерация
Сообщений: 53
Награды: 0
Статус: Offline
Так есть же вполне себе портабельные типы для адресной арифметики типа ptrdff_t в них точно будут указатели влезать.
http://www.cplusplus.com/reference/cstddef/ptrdiff_t/
Я всегда ими пользуюсь и вроде еще ни разу не нарывался на сложности с работой в long mode, хотя тут Unix и Windows в плане ABI отличаются, в последнем как раз портироваться гораздо сложнее.
Хотя тут наверное по хорошему ещё бы научиться собираться при помощи последних версий GCC и перетащить сборку проекта на cmake, что наверное не слишком долго, но пару неделек точно займет.


Сообщение отредактировал Sauron - Среда, 05.12.2012, 01:31
BlackPhoenixДата: Среда, 05.12.2012, 02:31 | Сообщение # 8
Космонавт
Группа: Пользователи
Украина
Сообщений: 47
Награды: 0
Статус: Offline
Пользуюсь premake4 для генерации 64-битного проекта для сборки, а также просто использую указатели типа type_name*. Проблем с портабельностью не получал - важно только использовать size_t и ptrdiff_t там, где это нужно. А так-же в структурах, которые сохраняются на диск прийдётся использовать фиксированые типы (int32_t).

Переделывать указатели не нужно, разве что где-то каст void* -> int... Мне пришлось таки поменять один тип (хендл) с unsigned int на void*.

Не бойтесь перехода, там всё гораздо проще чем кажется. Premake4 хороший инструмент, на выходе генерирует SLN или Makefile, а так-же если надо проекты для XCode/CodeBlocks. Для студии он прямо создаёт x64 как платформу на выбор.

P.S. Моё мнение, что переход - это было бы отлично, но не есть необходимостью. Симулятору X-Plane пришлось переходить на х64, поскольку у них (почему-то) наполнение мира стало накапливаться свыше 2 ГБ. Правда такое ощущение, что они просто ничего не чистят!


Сообщение отредактировал BlackPhoenix - Среда, 05.12.2012, 02:41
SauronДата: Среда, 05.12.2012, 15:09 | Сообщение # 9
Нет аватара
Космонавт
Группа: Пользователи
Российская Федерация
Сообщений: 53
Награды: 0
Статус: Offline
premake не использовал, но говорят он таки покрасивее, чем cmake. Да и макроязык в cmake мягко говоря убогий, а в premake вроде же вполне няшный lua используется. Который кстати можно будет потом и для скриптования логики в движке использовать.
Форум » SpaceEngine » Архив » x86-64 (Насколько реально собрать?)
Страница 1 из 11
Поиск:

>