Общий вопрос об окне с расширенным меню, которое часто обновляется, но обновляется только около 10% фактического экрана. Многое, если текст остается неизменным.SDL: аппаратное обеспечение против программного рендеринга
SDL2 использует рендеринг и текстуры для использования аппаратного ускорения, но также позволяет рендеринг программного обеспечения.
Мой вопрос:
- Это быстрее перерисовывать весь экран/меню каждый раз путем предоставления непосредственно к аппаратным средствам с использованием SDL_CreateRender()/аппаратно-рендеринга, где все меню обращается каждый раз, когда только Фактически изменяется 10% меню? Или:
- Быстрее ли писать все меню один раз в ОЗУ с помощью SDL_CreateSoftwareRenderer()/программного обеспечения, а затем обновлять только 10%, которые действительно меняются?
** Профиль, чтобы знать наверняка. ** (Но я бы сказал, что это не имеет особого значения, если оно не начнет отставать.) Также есть третий способ, который должен быть удобным, и я предполагаю самый быстрый: вы может оборудовать-рендеринг статической части меню в текстуру, а затем аппаратно-визуализировать каждый кадр. (Кроме того, если вы делаете игру, то рендеринг программного обеспечения, вероятно, не является вариантом, так как все, кроме меню, обычно часто обновляется.) – HolyBlackCat
Я предполагаю, что это будет сильно зависеть от ПК, на котором он работает, ускорение может быть быстрее, даже с полным перерисовкой. Тем не менее, похоже, что это не ресурсоемкое приложение, поэтому, возможно, проще всего писать и поддерживать. – Alden
Спасибо, ребята. Приятно иметь возможность получить другие мнения, прежде чем тратить много времени на проблему. Самый простой путь состоял в том, чтобы использовать аппаратное рендеринг и каждый раз перерисовывать все окно, поскольку оно достаточно быстро. – Brian