FordPerfect
> Версия без SSE:
42 фпс
Ладно, вот последняя версия без ссе, у меня дает 40 фпс
[file=118870]
FordPerfect
> Версия без SSE:
Оу, спасибо. И в три раза падаем по сравнению с конкурсной версией? Щи, не знал, что sse-avx настолько влияло...
И вообще я ступил, забыл, что у всех тут fpu версии.
Hardcode
> Ладно, вот последняя версия без ссе, у меня дает 40 фпс
> Release
Ну да, также все плохо, почти в 4 раза падаем.
Ок, забейте. Это была неправильная идея, я забыл, что у всех рассчеты на fpu и поэтому будут такие пироги.
Ну максимум можно отсюда вывести, что во времена Квейка была реальная польза от целых чисел. Тогда fpu так и работал. Я помню, что "невменяемые портянки" на нем генерил любой компилятор.
122
> Да, и раз уж такая пьянка пошла. А давайте без simd?
А давайте ещё и RGBA.
122
Я, кстати, не уверен, что настолько плохо на FPU по сравнению со скалярным SIMD.
Вот на пробу:
swc2
1 - то же, что и в #827
2 - используется аппроксимация (1 итерация метода Ньютона, без неё выглядит хреново)
FordPerfect
Можно сравнить с "1" из #624 - там скалярное SIMD.
FordPerfect
> Вот на пробу:
1 - 42
2 - 38
Hardcode
Фигасе.
Реально неожиданно.
Уменьшил точность выборки текстур, заполировал дизерингом, вроде фпс побольше стал (SSE2)
[file=118882]
Собственно в тему соревнования с Кармаком: http://www.gamedev.ru/code/forum/?id=217881.
Мой рендер перетек сюда.
Truthfinder
> Собственно в тему соревнования с Кармаком
С самого начала слежу за той твоей темой. На сложное замахнулся, это интересно. Сложное в общем в том, чтобы работать не только с Q1, а с большим набором игр, подсовывая им свой огл. И вот тут будет реально интересно. Многих игр вообще нет в софтрендере, даже и сравнить пока не с чем.
А я в первые дни после подведения итогов сделал полноценное отсечение near plane и переписал на fixed point, но fps остался прежним один в один, на том и забросил.
Может ещё доберусь как-нибудь и перепишу на SSE на асме, но, чувствую, без оптимизаций типа спан-буфера или чего-то подобного не обойтись.
Mikle
> А я в первые дни после подведения итогов сделал полноценное отсечение near
> plane и переписал на fixed point, но fps остался прежним один в один
У тебя овердро большой, но зато косяков рендера нет. А я сижу тут и думаю, какой мне прок от фпс, если на экране каша.
Вот, может кому для наколеночных вещей полезно:
http://rextester.com/EPNJ35709
Ну и себе, чтоб было откуда копипастить.
Целился в компактность, корректность и общность.
Скорость - непримечательна.
swc1 (v2) примерно такой был.
FordPerfect
SSE прямо просится на твой код.
Цикл
for (int32_t y = h-1; y>=0; --y)
эквивалиентен:
for (int32_t y = h; y—;)
И компилиться в оптимальный код на основе dec/jnz.
for (int32_t x = x_min; x < x_max; ++x)
аналогично:
for (int32_t sz = x_max-x_min, x = x_min; sz—; x++)
А в целом спасибо, вот так чётко и наглядно выложил алгоритм в котором без стакана не разберёшься.
Тема в архиве.
Тема закрыта.