kirill-grouchnikov / substance

A modern and high-performant Swing look-and-feel library
164 stars 109 forks source link

Slow performance #80

Closed otrebski closed 6 years ago

otrebski commented 6 years ago

Version of Substance

8.0.0

Version of Java

java version "1.8.0_121" Java(TM) SE Runtime Environment (build 1.8.0_121-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)

Version of OS

Darwin MP14216 17.4.0 Darwin Kernel Version 17.4.0: Sun Dec 17 09:19:54 PST 2017; root:xnu-4570.41.2~1/RELEASE_X86_64 x86_64

The issue you're experiencing (expected vs actual, screenshot, stack trace etc)

I have try to upgrade OtrosLogViewer from com.github.insubstantial:substance:7.3 to substance 8.0.0. I have noticed slow performance (update JTextPane with styled text) and high memory consumption. When I force application to change styled text (up to 10kB), memory consumption goes up by ~50MB. With insubstantial memory consumption goes up by 4-7MB with

kirill-grouchnikov commented 6 years ago

Please attach a small, standalone and complete test app that shows this issue under 8.0.00. I can't comment on the older fork on Substance. Too many things have changed there since that fork, and too many things changed in Substance in the last 18 months.

The only way to look at this is with a standalone sample, comparing performance of Substance to that of Metal or Nimbus.

otrebski commented 6 years ago

You can download OLV with substance8 and insubstancial7 from https://www.dropbox.com/s/2tcd4pzk55fkj8k/olv_substance.zip?dl=0

Steps to recreate issue:

  1. Unzip, go to folder OLV_lf/substance8 and run olv.sh
  2. Click Open log files, select file sample-xml.log
  3. Click in table different log events and observe low performance. Memory usage is monitored in application in status bar.
  4. Navigate in table using down arrow, observe low performance.

In folder insubstantial7 you can find version with insubstantial. Performance is much better. Please let me know if you need more assistance.

kirill-grouchnikov commented 6 years ago

Please read my first response on this bug. Without a small, standalone and complete test app that isolates a particular issue, I am not going to spend any time on getting into a full codebase that has all the overhead that it brings with it.

kirill-grouchnikov commented 6 years ago

Closing due to the lack of simple standalone reproducible sample.