Как можно радикально поднять скорость отображения картинки?
Код и исполняемый файл прикладываю. У меня пока выдает в районе 10-15 fps, больше получить не удается
Как пользоваться:
1. Запускаем
2. Вводим 100
3. Смотрим на цифру сверху - там будет, какой fps выдает программа
Контекст вопроса
Перед вами - тест-бенчмарк, по которому я определяю, какими инструментами пользоваться
LoadFromStream. Перешел на потоки - это дало ускорение в несколько раз: раз в пять ускорил переход от LoadFromFile к LoadFromStream - это прямо повлияло на fps. Раза в два ускорил переход от каталога с файлами к zip-архиву, это скорее про время загрузки.
BeginScene. Читал на этом форуме, что он дает некоторое ускорение
BringToFront. Персонажам в будущем предстоит входить в дома и обходить деревья, для таких операций в RAD Studio предусмотреть BringToFront/SendToBack, т.е. понадобится перестраивать поштучно Z-порядок, когда кто-то кого-то загородил. Соответственно, в вызовем разок. По моим наблюдениям - если закомментарить эту строчку, то fps увеличивается вдвое. Т.е. если на этих инструментах написать игру, то она будет идти плавно, но когда одна-единственная деталь поменяет Z-порядок, то игра вдвое снизит fps а потом возобновит плавность. Рывок будет заметный
Вопрос
sulion
Друзья, привет!
Как можно радикально поднять скорость отображения картинки?
Код и исполняемый файл прикладываю. У меня пока выдает в районе 10-15 fps, больше получить не удается
Как пользоваться:
1. Запускаем
2. Вводим 100
3. Смотрим на цифру сверху - там будет, какой fps выдает программа
Контекст вопроса
Перед вами - тест-бенчмарк, по которому я определяю, какими инструментами пользоваться
LoadFromStream. Перешел на потоки - это дало ускорение в несколько раз: раз в пять ускорил переход от LoadFromFile к LoadFromStream - это прямо повлияло на fps. Раза в два ускорил переход от каталога с файлами к zip-архиву, это скорее про время загрузки.
BeginScene. Читал на этом форуме, что он дает некоторое ускорение
BringToFront. Персонажам в будущем предстоит входить в дома и обходить деревья, для таких операций в RAD Studio предусмотреть BringToFront/SendToBack, т.е. понадобится перестраивать поштучно Z-порядок, когда кто-то кого-то загородил. Соответственно, в вызовем разок. По моим наблюдениям - если закомментарить эту строчку, то fps увеличивается вдвое. Т.е. если на этих инструментах написать игру, то она будет идти плавно, но когда одна-единственная деталь поменяет Z-порядок, то игра вдвое снизит fps а потом возобновит плавность. Рывок будет заметный
Что ещё можно предпринять, чтобы поднять fps?
fps.zip source.zip
Ссылка на комментарий
8 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.