Ох ёлки... Ну предположим, используя эту библиотеку можно выиграть пару фпс в пределах погрешности. Оно того стоит?
Самые тяжелвые вычисления ложаться либо на симулятор физики, который обычно является черным ящиком с собственной матчлибой, либо на видимокарту. В том же OpenGL, заранее нельзя предугадать что будет посчитано на проце, а что отдано видеокарте. Т.е. аппаратное отсутствие какой либо фичи никак не афишируется. Просто начинает работать медленнее, поскольку выполняется софтварная эмуляция.
Да чего за примером далеко ходить, вон тов.Noob замутил тут партиклы на GL_POINTS. На десктопе прирост фпс в десятки раз, а на ноуте - падение почти в три раза. А вы тут за матчлибы переживаете.
Дядя Миша писал: Т.е. аппаратное отсутствие какой либо фичи никак не афишируется. Просто начинает работать медленнее, поскольку выполняется софтварная эмуляция.
Оно афишируется в документации)
Цитата:
Дядя Миша писал: На десктопе прирост фпс в десятки раз, а на ноуте - падение почти в три раза
Точки вроде уже давно депрекейтед, вместо них рекомендуется рисовать маленькие квады. Которые тоже депрекейтед, вместо них рекомендуется рисовать два триангла Вот вам и оптимизация.
underworlddemon
1) незачем
2) надо тратить время на чтение документации (ты видел названия функций BLAS?)
3) не проверяли, да.
Вот взял бы и проверил, а потом нам рассказал.
1) религиозное убеждение, учитывая что не проверяли ?
2) ну у Eigen функции очень просто называются (очень близко к математическому названию)
хотя почитать придётся
3) -
нуб я, чтобы мутить действительно показательные примеры
1) Я вроде объяснил, что для матрицы 3х3 все эти функции, заточенные под NxN (где N могут быть очень большими), могут быть малоэффективны. Ты показал сравнительную таблицу - а я попросил показать сравнение с обычным самодельным, оптимизированным под 3х3, кодом. Его там нет. Угадай, почему.
2) Странно, обычно разработчики BLAS стараются следовать концепции наименования, заложенной в бородатых 80-х (или когда там первый BLAS написали).
1) тут нема http://eigen.tuxfamily.org/index.php?title=Benchmark
а сам это я сделать не смогу - тебе проще, как спецу в этом вопросе
2) ну библиотек не 1 и не 2
некоторые наследуют черты BLAS или LAPACK
некоторые специализированны под определённые задачи
некоторые более синтаксически простые
и т.п.
underworlddemon писал: т.е. резюмируя вышесказанное:
1) не используется
2) не внушает доверия
и что самое главное:
3) не проверяли
в самом начале постройки ксаша я безумно увлекался кастомными апчхимизированными матчлибами (см. сорцы), и постоянно прикручивал туда всякое. То быстрые синусы-косинусы, то понимаешь кавадратные корни на SSE. Так вот ни одна, ни одна из этих апчхимизаций не дала такого прироста, который бы бы визуально заметен даже на тесте timerefresh, не говоря уже о реальных игровых ситуациях. Зато проблем с ними было выше крыше. Помните у арбалета стрелы криво летали?
Это вот как раз последствия апчхимизированного матчлиба.
Дядя Миша писал: Это вот как раз последствия апчхимизированного матчлиба.
О, а что в волатиле было из-за оптимизированных синусов-косинусов... Лучше не вспоминать.
Смысл в том, что эти оптимизированные функции можно юзать не везде, а только в строго отведённых для этого местах. Которых, как это часто бывает, процентов пять от общего числа синусов и косинусов.
Гдеб почитать что GL_POINTS конкретно на этой модели мобильного чипа видокарты эмулируется программными средствами? Полагаю с ходу такую информацию найти будет непросто. И уж конечно в инструкции к ноутбуку об этом не будет ни слова.
Цитата:
underworlddemon писал: xash на С или на С++ ?
Ну, к слову сказать излишнего копирования матриц на чистом Си как раз таки и нету. Поскольку все операции с ними оформлены в виде обычных функций. ЧСХ - ровным счётом ничего не мешает сделать тоже самое на С++. Но так работать не слишком удобно
Дядя Миша писал: Гдеб почитать что GL_POINTS конкретно на этой модели мобильного чипа видокарты эмулируется программными средствами?
Обычно к каждой новой модели видимокарты (вернее, семейства) прилагается Programming & Optimization Guide. Надо на официальном сайте NVIDIA (или AMD) смотреть.
underworlddemon писал: но думаю про векторизацию и ассемблерные вставки ты не заморачивался
Я заморачивался с векторизацией (SSE) и асм вставками. Надо профилировать каждый кусок, потому что где-то она даёт прирост, а где-то наоборот оказывается медленнее. Общих рецептов нет.