Стандарт процессора IEEE 754
Товарищи, подскажите пожалуйста как заставить работать сборку на Unity3d так, чтобы процессор расчитывал все числа с плавающей точкой (float) по стандарту IEEE 754? Заранее спасибо.
|
Ответ: Стандарт процессора IEEE 754
Что это за стандарт и чем он так хорош?
По вопросу: я думаю никак. |
Ответ: Стандарт процессора IEEE 754
Судя по всему это самый распространенный формат представления чисел с плавающей запятой. Поэтому встречный вопрос топик-стартеру: откуда информация что сейчас Юнити оперирует другим представлением?
(олсо поддержка на уровне процессора реализована, в случаях когда это не так, то идёт программная эмуляция) |
Ответ: Стандарт процессора IEEE 754
Цитата:
C википедии: Цитата:
|
Ответ: Стандарт процессора IEEE 754
Цитата:
По поводу программной эмуляции, если ее реализовать расчет float будет осуществляться в десятки раз медленее чем если расчет будет идти на аппаратном уровне. Поэтому единственный вариант решения проблемы с float который сейчас я вижу это заставить работать программно процессор по стандарту IEEE 754. |
Ответ: Стандарт процессора IEEE 754
Это всё понятно, но процессоры считают так как реализован их FPU. Некоторые языки позволяют использовать программную поддержку стандарта если он не поддерживается процессором. Однако производительность таких расчётов сильно падает. Заставить процессор работать с данными которые он не поддерживает невозможно. В этом вся суть FPU, он заранее спроектирован физически под определенный стандарт(ы).
А ребятки с RTS дети несмышленые, передавать нужно время от времени корректирующие данные в абсолютных единицах. Симуляцию клиент отрабатывает сам а сервер лишь корректирует состояние объектов во времени. Лучшим решением будет использование чисел двойной точности если важен точный результат на любой платформе. |
Ответ: Стандарт процессора IEEE 754
используй реализацию float с фиксированной запятой на базе int, так делают когда нужно обеспечить одинаковый результат во всех средах исполнения, и так сделаны большинство онлайн игр
IEEE 754 ничего тебе не даст, потому что всё и так на нем работает |
Ответ: Стандарт процессора IEEE 754
Цитата:
Мне нужно чтобы можно было пользоваться полным функционалом програмирования на Unity, а там почти все на float. Я читал, что супрем командер сделали с использованием float благодаря тому,что задействовали стандарт IEEE 754. |
Ответ: Стандарт процессора IEEE 754
Цитата:
Смысл в том, чтобы стандартные функции Unity могли отрабатывать с float одинаково на каждой машине, а не переписывать всю арифметику для работы с фиксированной запятой. Цитата:
|
Ответ: Стандарт процессора IEEE 754
их просто два : IEEE 754-1985 и IEEE 754-2008
Цитата:
|
Ответ: Стандарт процессора IEEE 754
Ну как тогда люди делают RTS сетевые при расчете float аппаратно?
|
Ответ: Стандарт процессора IEEE 754
RTS это же поинт энд клик - щелкнул по цели, передал координаты. Нахрен передавать управление?
|
Ответ: Стандарт процессора IEEE 754
Цитата:
|
Ответ: Стандарт процессора IEEE 754
Цитата:
1. Инициализация - передача всем игрокам координат всех юнитов игроков. 2. Выделение юнита мышкой. 3. Указание юниту цели (клик мышкой) - координат (цели) и передача этих координат для этого юнита по сети. 4. профит UPD: вы еще скажите что у вас на каждом компьютере игра с одинаковой скоростью работает чтобы считать смещения и суммировать. |
Ответ: Стандарт процессора IEEE 754
Цитата:
Согласно вашей логике кто должен просчитывать игровой мир (перемещение,удаление,добавление юнитов ) ? |
Часовой пояс GMT +4, время: 17:44. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot