Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Результаты опроса: Я...
...умею использовать RAX 3 17.65%
...не умею использовать RAX 10 58.82%
Я догадываюсь, но не пользовал 4 23.53%
Голосовавшие: 17. Вы ещё не голосовали в этом опросе

Ответ
 
Опции темы Поиск в этой теме
Старый 18.01.2011, 17:09   #31
Tronix
Форумчанин
 
Аватар для Tronix
 
Регистрация: 15.06.2010
Сообщений: 740
По умолчанию

Цитата:
Сообщение от GunSmoker Посмотреть сообщение
Расскажи это играм и другим приложениям с поддержкой MMX (да любому современному компилятору, который эти вещи использует автоматически, если это указано в опциях проекта).
Ну-ка ну-ка, что же там у нас с играми? Расскажите поподробнее? А я расскажу - в играх используется MMX, это несомненно, да только используется "упакованный" тип данных - когда в одном 64-битном регистре находятся два 32-битных или 4 шестнадцатибитных числа, и операция производится сразу с двумя или 4 числами.

А вот именно 64-битной математике (когда в 64 битном регистре находится одно 64 битное число, которое складывается/вычитается/делится/умножается на другое) я встречал очень мало. Да что там, вообще не встречал.
Чтобы понять рекурсию, сперва нужно понять рекурсию.
Tronix вне форума Ответить с цитированием
Старый 18.01.2011, 17:20   #32
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Цитата:
когда в одном 64-битном регистре находятся два 32-битных или 4 шестнадцатибитных числа, и операция производится сразу с двумя или 4 числами.
Верно. И?
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 18.01.2011, 17:30   #33
Tronix
Форумчанин
 
Аватар для Tronix
 
Регистрация: 15.06.2010
Сообщений: 740
По умолчанию

Цитата:
Сообщение от GunSmoker Посмотреть сообщение
Верно. И?
И 64-битная математика в играх не используется. То есть для игр 64 бита не нужны.
Чтобы понять рекурсию, сперва нужно понять рекурсию.
Tronix вне форума Ответить с цитированием
Старый 18.01.2011, 17:48   #34
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Потрясающая логика.

Зачем вообще тогда нам нужен MMX? (и SSE заодно). Раз вы утверждаете, что они не нужны - так давайте их выкинем.

В первой половине 90-х разрабатывается MMX. Почему? Потому что актуальные процессоры такого не умееют, но программам сильно надо. Это же не из воздуха взялось. Иными словами, MMX - это хак. Временное решение, пока нет нормального 64-х разрядного процессора.

В первой половине 90-х. Это более пятнадцати лет назад.

Иными словами потребность в выполнении таких операций в потребительском сегменте (не на серверах) возникла более пятнадцати лет назад.

64 не нужен? Ну-ну.

То, что лично ты не используешь Int64/UInt64 - ни о чём вообще не говорит. Этак я могу сказать, вот, смотрите, я нигде не использую Integer и Word - нафиг не нужны эти 32-х и 16-ти битные процессоры - всем должно быть достаточно 8-ми битного.

Под капотом языка компилятор будет использовать все возможности целевой платформы. И чем их больше - тем лучше. Многие операции с блоками памяти значительно эффективнее выполнять с регистрами больших размеров.

Цитата:
И 64-битная математика в играх не используется. То есть для игр 64 бита не нужны.
Я тебе ещё секрет отрою: процессору по барабану, какой логический смысл у данных, которые вы ему скармливаете. Хоть ASCIIZ строка.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.

Последний раз редактировалось GunSmoker; 18.01.2011 в 17:52.
GunSmoker вне форума Ответить с цитированием
Старый 18.01.2011, 18:05   #35
Tronix
Форумчанин
 
Аватар для Tronix
 
Регистрация: 15.06.2010
Сообщений: 740
По умолчанию

Цитата:
Сообщение от GunSmoker Посмотреть сообщение
Потрясающая логика.

Зачем вообще тогда нам нужен MMX? (и SSE заодно). Раз вы утверждаете, что они не нужны - так давайте их выкинем.
Где я это утверждал?
Цитата:
Сообщение от GunSmoker Посмотреть сообщение
В первой половине 90-х разрабатывается MMX. Почему? Потому что актуальные процессоры такого не умееют, но программам сильно надо. Это же не из воздуха взялось. Иными словами, MMX - это хак. Временное решение, пока нет нормального 64-х разрядного процессора.
Еще раз для тех кто в танке - давайте отличать мух от слонов. MMX в играх используется с целью совершить одно действие над группой 32-битных или 16-битных чисел одновременно. Не для 64-битных чисел!
То есть массив например 5,4,15,47 и мне каждый элемент в нем нужно умножить на 2. Я беру этот массив "упаковываю" в 64-битный регистр (но числа - не 64-битные далеко) и умножаю на 2 за одну команду. Где тут 64-битная математика? Нету ее.
Цитата:
Сообщение от GunSmoker Посмотреть сообщение
В первой половине 90-х. Это более пятнадцати лет назад.

Иными словами потребность в выполнении таких операций в потребительском сегменте (не на серверах) возникла более пятнадцати лет назад.
Каких "таких операций" ? Выполнения однотипного действия над группой чисел за одну команду? - Да, такая потребность была всегда. Но числа то сами 16 или 32-битные. Или под действиями подразумевается 64-битные числа умножать/вычитать/складывать/делить на 64-битные? Такой потребности тогда не возникало в играх.
Цитата:
Сообщение от GunSmoker Посмотреть сообщение
64 не нужен? Ну-ну.

То, что лично ты не используешь Int64/UInt64 - ни о чём вообще не говорит.
А ты лично, много где используешь Int64/UInt64? Наверное в твоих прогах очень часто возникает потребность создать цикл от 0 до 18446744073709551615 или произвести некий расчет с такого плана числом.
Цитата:
Сообщение от GunSmoker Посмотреть сообщение
Этак я могу сказать, вот, смотрите, я нигде не использую Integer и Word - нафиг не нужны эти 32-х и 16-ти битные процессоры - всем должно быть достаточно 8-ми битного.
Да, в большинстве срднестатистических программ 16-бит для переменных достаточно. Более того, если взять сферичискую программу в вакуме, то мы увидем в ней преобладание 16-битных переменных над 32-битными.
Цитата:
Сообщение от GunSmoker Посмотреть сообщение
Под капотом языка компилятор будет использовать все возможности целевой платформы. И чем их больше - тем лучше. Многие операции с блоками памяти значительно эффективнее выполнять с регистрами больших размеров.
Да ктож спорит, что с _блоками_ чего угодно, в данном случае памяти, удобнее работать с бОльшими регистрами. Я не отрицаю очевидного.
Чтобы понять рекурсию, сперва нужно понять рекурсию.
Tronix вне форума Ответить с цитированием
Старый 18.01.2011, 18:16   #36
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
То есть для игр 64 бита не нужны.
Почему? Для графики оч. даже нужны. Быстрее графика сможет обрабатываться, более точнее, на больше кол-во треугольников можно поверхность разбить - а это даст точности физическим движкам. лично наблюдал разницу в точности физдвига одной тяжелой 3D системы на разных системах.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 18.01.2011, 18:19   #37
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Цитата:
Сообщение от Tronix Посмотреть сообщение
Где я это утверждал?
Цитата:
Сообщение от Tronix Посмотреть сообщение
Я тоже считаю что все эти N-битности - в большинстве своем просто маркетинговые шаги, или говоря еще проще, свистелки и перделки, в большинстве случаев не нужные.
Цитата:
Сообщение от Tronix Посмотреть сообщение
Еще раз для тех кто в танке - давайте отличать мух от слонов. MMX в играх используется с целью совершить одно действие над группой 32-битных или 16-битных чисел одновременно. Не для 64-битных чисел!
Ещё раз: процессору по барабану, что означают числа, с которыми вы производите операции. Да хоть 64 однобитных числа.

Цитата:
Сообщение от Tronix Посмотреть сообщение
Такой потребности тогда не возникало в играх.
Расскажи это играм, которые идут на всякие ухищрения, чтобы втиснуться в адресное простанство в 2 Гб.

Цитата:
Сообщение от Tronix Посмотреть сообщение
А ты лично, много где используешь Int64/UInt64?
Почти в любом месте, где надо работать с файлами. Файлы могут быть больше 2-х Гб (сюрприз!). И я был бы очень рад, если бы мне не приходилось использовать для этого MMF, а в кои-то веки писать прозрачный код.

Цитата:
Сообщение от Tronix Посмотреть сообщение
Наверное в твоих прогах очень часто возникает потребность создать цикл от 0 до 18446744073709551615 или произвести некий расчет с такого плана числом.
Нет, не очень. Но возникает же.

Цитата:
Сообщение от Tronix Посмотреть сообщение
Более того, если взять сферичискую программу в вакуме, то мы увидем в ней преобладание 16-битных переменных над 32-битными.
Ну-ка, ткни нам хотя бы в одну программу.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 18.01.2011, 18:33   #38
Tronix
Форумчанин
 
Аватар для Tronix
 
Регистрация: 15.06.2010
Сообщений: 740
По умолчанию

Не хочу продолжать флейм. Ты выиграл.
Чтобы понять рекурсию, сперва нужно понять рекурсию.
Tronix вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программирование под Linux ji_ji Lazarus, Free Pascal, CodeTyphon 4 12.07.2010 14:00
программирование под WM Mclaren Софт 1 21.04.2010 13:28
Программирование под .Net RIO Свободное общение 5 07.01.2010 22:12
Программирование под .NET RoamingFire Свободное общение 1 04.03.2008 08:35
Программирование под nix Simply-Art Свободное общение 8 20.03.2007 11:45