Войти
ПрограммированиеФорумФизика

[2D Шарики, src на 27стр] Производительность

Advanced: Тема повышенной сложности или важная.

Страницы: 1 2 329 30 Следующая »
#0
12:14, 28 ноя. 2008

Написал шарики

Изображение

Написано на C++ в MSVS2008:
- http://rghost.ru/558722

Рендер - OpenGL.

Есть поддержка мультиядерных процессоров, реализовано с помощью OpenMP. Кол-во потоков менять стрелками вверх и вниз.

Процессор AMD Athlon XP 3000+, ОС XP, компилятор MSVS 2008, выдаёт:
- 30000 шариков ~3.0 мс
- 200000 шариков ~22.0 мс
Почти линейно :)

Стабильность высокая, ничего не дрожжит, не прыгает и не дёргается. Шарики действительно круглые и очень твёрдые.

Все алгоритмы придумал и написал сам, опираясь на личный опыт работы с многими "околотемными" алгоритмами.

Реализована локальность данных - минимизировано количество кеш миссов.

В архиве в папке OMP_DLL есть файл vcomp90.dll, если у кого-то таковой не имеется(программа не запустится) - используйте его.


#1
12:24, 28 ноя. 2008

Дружище, исходничок?

#2
12:27, 28 ноя. 2008

Phuntik
Сначала давайте посоревнуемся. Потом конечно всё выложу.

#3
12:31, 28 ноя. 2008

Впечатляет!

Интересно, будет-ли накладно сделать к ней ещё какую-нибудь красивую визуализацию, типа жидкости.

#4
12:34, 28 ноя. 2008

BUzer
Если перенести рендеринг на видеокарту, то даже с "эффектом жидкости" будет работать быстрее.
А сейчас я просто использую метод Bitmap.SetPixel()

#5
13:52, 28 ноя. 2008

Alexander K
Всё программно сделал? За три часа? Ну даёшь.
А что значит частицы честно круглые?

#6
14:12, 28 ноя. 2008

Phuntik
>Всё программно сделал? За три часа? Ну даёшь.
Не понял, слишком быстро сделал или слишком медленно? :)
Писал вообще просто так, ради интереса.

>А что значит частицы честно круглые?
Столкновения проверяются между настоящими окружностями радиуса 1.0f.
Расстояние считается с помощью теоремы Пифагора. Напрямую, без всяких приближений квадратного корня.

#7
14:50, 28 ноя. 2008

Alexander K
>Расстояние считается с помощью теоремы Пифагора.
> Напрямую, без всяких
>приближений квадратного корня.

Зря признался.
Теперь тебя по скорости обставят конкуренты : )

#8
14:56, 28 ноя. 2008

100-102 фпс. Ноут - Core2 1.73, гиг оперативки, Win Xp prof

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

#9
15:37, 28 ноя. 2008

Megabyte-Ceercop
>Зря признался.
>Теперь тебя по скорости обставят конкуренты : )
Отличная логика.

kostyan29_programer
Это из-за того, что используется цикл while.
У меня, конечно, не так всё жёстко, но тоже грузит по полной.
Чуть позже переделаю.

#10
15:46, 28 ноя. 2008

Хм идею соревнования поддерживаю:) но раз соревнование по физической части, то надо чтобы у всех был одинаковый рендер, желательно быстрый:)

#11
15:55, 28 ноя. 2008

id-mikle

Хм, а может все таки остаться на NET и выводить только статистику касательно физ симуляции? А одинаковый рендер - это как то сомнительно.

#12
16:22, 28 ноя. 2008

Alexander K
примерно на 10-20 секунде вылетает... 110 ФПС AMD x2 3800+ overclocked 2.6GHz

#13
16:40, 28 ноя. 2008

Alexander K
150 fps. Вроде ничё не вылетело и закрылось нормально

#14
16:58, 28 ноя. 2008

180fps, Core2Duo E6850(2x3ГГц). после сваливания сфер в одну кучу спустя 10с "вылетает" с предложением отправить отчет =)

Страницы: 1 2 329 30 Следующая »
ПрограммированиеФорумФизика

Тема в архиве.