Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование в широком смысле слова > Алгоритмика

Алгоритмика Об алгоритмах вообще; методы, обсуждения способов решения

Ответ
 
Опции темы
Старый 08.10.2008, 21:22   #16
zheland
Разработчик
 
Регистрация: 18.10.2007
Сообщений: 349
Написано 64 полезных сообщений
(для 95 пользователей)
Сообщение Ответ: Поворот массива точек

Сообщение от jimon Посмотреть сообщение
SBJoker
а cos и sin одного угла можно вообще одной операцией посчитать
Это я и имел в виду.
Оно вроде быстрее.
Сообщение от SBJoker Посмотреть сообщение
Неверно, на современном этапе развития процессор вычисляя Синус и Косинус тратит времени меньше чем тратится при доступе к памяти чтобы прочитать готовое значение.
Нет.
Прочитать готовое значение—1 такт.
Синус и Косинус—241(193-279) тактов на процессоре i80486.
Но я думаю немогло это так быстро уменьшится.
Потом я читал что где-то даже увеличивалась.
Во первых сложная операция, во вторых сопроцессор(FPU) работает медленней процессора.
(Offline)
 
Ответить с цитированием
Старый 08.10.2008, 21:49   #17
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Ответ: Поворот массива точек

Блин ну проверь, что быстрее будет выборка по таблице или расчёт на месте. И сам удивишся но выборка из заранее просчитаного массива проигрывает и оч. сильно.

Ибо! Расчёт син и кос на совр процессоре с частотой пусть 2000Mhz занимает хоть и много тактов, но они проводятся со скоростью 2000Mhz, а выборка из памяти ДДР-2 при частоте 400 Mhz, уже проигрывает в скорости в 5 раз на такт, но чтобы прочитать из памяти нежен не один такт! а несколько! А именно суммируем все 4 основновные задержки у меня это 4-4-4-16 в сумме(28нс) так что нетрудно догадаться что чтение займёт больше.

Вот если таблицу синусов загнать в кэш процессора то да, скорость будет намного больше вычисления.

Кароче сделай тест, который считает пару десятков тысяч синусов, и берущий из таблицы алгоритм. На современном компе быстрее будет расчёт. На древнем 486м быстрее будет из таблицы.

З.Ы. значения из таблицы так же сильно проигрывают в точности, т.к. расчёт таблицы ведётся с опр. шагом, и код функции выбирающий ближайшее значение так же внесёт вклад в задержки.
__________________
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Leito (01.02.2009)
Старый 08.10.2008, 21:50   #18
jimon
 
Сообщений: n/a
Ответ: Поворот массива точек

drunnik
в последнее время в x86 процессорах архитектура поменялась, теперь в центре стоит risc ядро, а вокруг него обвязка x86 выполненая в большей части на микрокоде
потому такт как рабочая единица сложно применима, да и данные для 80486 слишком сильно устарели
а выборка из масива, да, зачастую медленее расчёта на процессоре
 
Ответить с цитированием
Старый 10.10.2008, 14:48   #19
Черный крыс
 
Сообщений: n/a
Ответ: Поворот массива точек

Тоже сначала сильно удивилсо....когда увидел результаты тестов Оксида в модуле oxi.SinCos. Провел независимое тестирование....это подтвердилось. Теперь тока на проце и щитаю....стараясь - где нужно сразу юзать sincos().

Если Джокеру надо повернуть полигон, вершины которого загнаны в массив, - SetRotation ? Полигон можно хэндлить. а насчет 2-го то тут уже чистая математика.

Последний раз редактировалось Черный крыс, 10.10.2008 в 14:59.
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти объект массива по координатам Mr_F_ 3D-программирование 8 15.08.2009 20:28
Обработка массива. Abiron Алгоритмика 5 20.06.2009 01:02
Текстовые сообщения интерфейса - в виде массива строк? Skythrone Основной форум 6 26.09.2008 00:18
Размер массива kyb66 Основной форум 7 15.12.2007 21:32
Вопрос насчет массива и GUI Manfred 2D-программирование 10 22.12.2006 01:41


Часовой пояс GMT +4, время: 02:52.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com