Хорошо, я уже некоторое время разрабатываю программный растеризатор, но не знаю, как это сделать, сравнивая его, чтобы увидеть, действительно ли это на самом деле ... я имею в виду, что вы можете рендерить X количество верт мультив Y кадров в секунду, что было бы хорошим способом проанализировать эти данные, чтобы увидеть, насколько он хорош? а не кто-то просто сказал «30 кадров в секунду с 1 светом хорошо» и т. д.?Как перейти к тестированию растеризатора программного обеспечения
ответ
Что вы хотите измерить? Я предлагаю скорость заполнения и треугольника. В основном заполнение - это количество пикселей, которое ваш растеризатор может выплюнуть каждую секунду. Скорость треугольника - это то, сколько треугольников ваши растеризаторы + аффинные функции преобразования могут выталкивать каждую секунду независимо от заполнения. Вот мое предложение для измерения обоих:
Чтобы измерить заполнение без получения шума с момента, используемого для настройки треугольника, используйте только два треугольника, которые образуют квад. Начните с небольшого размера, а затем увеличьте его с небольшим интервалом. В конечном итоге вы должны найти оптимальный размер относительно времени рендеринга в одну секунду. Если вы этого не сделаете, вы можете выполнить смешение с парами в виде полноэкранного треугольника, что является довольно медленной операцией и которое только сжигает fillrate. Поток заполняется ширина x высота вашего отображаемого треугольника. Например, 4 мегапикселей в секунду.
Чтобы измерить скорость треугольника, сделайте то же самое; только на треугольники на этот раз. Начните с двух крошечных треугольников и увеличьте число треугольников, пока время рендеринга не достигнет одной секунды. Время, используемое настройкой треугольника/преобразования, гораздо более очевидно в маленьких треугольниках, чем время, необходимое для его заполнения. Единицы измерения: количество треугольников/секунд.
Кроме того, общее время, используемое для визуализации кадра, также может быть сопоставимо. Время рендеринга для кадра является производным от глобального времени, то есть дельта-время. Обратная величина дельта-времени - это число кадров в секунду, если это время дельта было постоянным для всех кадров.
Конечно, для того, чтобы эти цифры были на полпути сопоставимыми по растеризаторам, вы должны использовать те же методы и функции. Сравнение чисел из растеризатора, которое использует пиксельное освещение против другого, которое использует плоское затенение, не имеет большого смысла. Разрешение и глубина цвета также должны быть равны.
Что касается оптимизации, то получение правильного профилировщика должно сделать трюк. GCC имеет профилировщик GNU gprof. Если вы хотите, чтобы мнение о умных вещах оптимизировалось в растеризаторе, спросите об этом как о отдельном вопросе. Я отвечу, насколько это возможно.
Если вы хотите определить, является ли это «хорошим», вам нужно будет сравнить ваш растеризатор с другими растеризаторами. «30 кадров в секунду с 1 светом» может быть чрезвычайно хорошо, если никто еще не смог выйти за пределы, скажем, 10 кадров в секунду.
Thats справедливая точка .... более «научными» способами? – Stowelly
- 1. Подготовка к подготовке к тестированию программного обеспечения
- 2. Подход к тестированию для многопоточного программного обеспечения
- 3. Консультации по тестированию программного обеспечения?
- 4. хочу провести исследование по тестированию программного обеспечения
- 5. Какие типы серьезности ошибок относятся к тестированию программного обеспечения?
- 6. Как перейти от разработки встроенного программного обеспечения к веб-разработке?
- 7. Непрерывная интеграция против инженера по тестированию автоматизации программного обеспечения
- 8. тестирование программного обеспечения
- 9. Найти доступность программного обеспечения для программного обеспечения
- 10. разработка программного обеспечения для анализа программного обеспечения
- 11. Тестирование программного обеспечения и оценка программного обеспечения
- 12. Тестирование программного обеспечения «на стене»
- 13. Жизненный цикл программного обеспечения
- 14. Ввод программного обеспечения омнибокса
- 15. Автоматизация установки программного обеспечения
- 16. Подходы к тестированию
- 17. Как предотвратить переустановку программного обеспечения
- 18. Решение программного обеспечения - Игра
- 19. Модели программного обеспечения
- 20. Терминология тестирования программного обеспечения
- 21. Подключение программного обеспечения к оборудованию 101
- 22. Однородная интеграция программного обеспечения
- 23. Настройка промежуточного программного обеспечения
- 24. Определение качества программного обеспечения?
- 25. Организованный дизайн программного обеспечения
- 26. Интернационализация java-программного обеспечения
- 27. Среда промежуточного программного обеспечения: до или после промежуточного программного обеспечения?
- 28. Экспресс: вызов промежуточного программного обеспечения из другого промежуточного программного обеспечения
- 29. Создание программного обеспечения UISearchDisplayController
- 30. Управление версией программного обеспечения
Вы спрашиваете, что такое стандартные измерения или какие стандартные эталоны являются результатом этих измерений? –