Это не имеет никакого отношения к скорости рендеринга. Скорость рендеринга всего этого порядка десятков миллисекунд.
Снижение производительности, которое вы наблюдаете, связано с загрузкой классов. Прежде чем JFrame
может быть визуализирован, его класс должен быть загружен, и все классы, от которых он зависит, и так далее, и так далее. Тогда вы создаете экземпляр JLabel
. Этот класс должен быть загружен, и все классы, от которых он зависит. Затем вы создаете экземпляр Font
, поэтому необходимо загрузить все классы, связанные со шрифтами. Я не знаю, но может даже иметь место некоторая «инициализация шрифтовой подсистемы». Вы получаете изображение.
Таким образом, в настоящее время вы не можете избежать этих накладных расходов.
Вы можете попробовать пропустить метку и сделать текст самостоятельно, используя «графику», но я не могу обещать, что вы увидите любое улучшение таким образом.
Вы также можете посмотреть на компонент SplashScreen
, можно надеяться, что он будет оптимизирован, чтобы задействовать как можно меньше классов, чтобы загружаться как можно быстрее насколько возможно, но у меня нет опыта с этим. И, возможно, вы не сможете добавить к нему текст, либо с помощью JLabel
, либо отрисовав его самостоятельно, либо, если вы это сделаете, вы, вероятно, будете страдать от всех накладных расходов, которые вы испытываете в настоящее время.