Здравствуйте, kamre, Вы писали:
B>>В Java давно проблема со шрифтами, так как отрисовка своя собственная даже шрифтов.
B>>http://rsdn.ru/forum/message/1580305.1.aspxАвтор: Blazkowicz
Дата: 10.01.06
K>Так вроде бы уже с 1.6.10 отрисовка делается через системные вызовы? Да и на скриншотах видно, что cleartype в java "правильный".
Можно ссылочку? Я такого не помню.
Здесь только несколько фиксов связаных с рендерингом, которые дают повод для сомнений в нативном рендеринге:
http://java.sun.com/javase/6/webnotes/6u10.html
B>>Там достаточно длинная цепочка вызовов Layout manager. К тому же в client JVM она скорее всего долгое время интерпретируется пока до JIT дело не дойдет.
K>Т.е. именно поэтому приложения на Swing тормозят подобным образом? И это никак не исправить?
Почему-же. Можно поиграться с настройками JVM. mixed mode, client mode и ключи для JIT.
Можно даже профайлер запустить и посмотреть, вдруг это лечится.
K>Ну не в 10 же раз... И это еще по сравнению с Qt, которая тащит свои достаточно толстые runtime библиотеки. Изначально при старте Java приложение занимает где-то под 30Мб (как раз весь рантайм нужный загрузился), но зачем оно потом до 100Мб отжирает?
И все же JVM не Qt, а Qt не JVM. Поэтому данное сравнение не совсем корректно. А ещё GC. Можно попробовать ограничить размер хипа через -Xmx. Хотя ни к чему хорошему это не приведет. Опять же особо любознательные могут запустить профайлер.
K>Swing и Qt весьма похожи в том, что все компоненты рисуют сами с нуля, а не пользуются системными. Но как-то у Qt это заметно лучше получается: гораздо быстрее и отличий меньше от системного LAF.
Именно поэтому Qt на столько популярен, а Swing совсем нет.
K>Т.е. с кодом на Java у меня более или менее все в порядке и положение уже не улучшить?
На вскидку никаких видимых проблем не обнаружено.