From 3bc571bacd65afaeb6bb04d06129a61ee9ccf0fe Mon Sep 17 00:00:00 2001 From: Jannik Date: Wed, 13 Sep 2017 23:57:29 +0200 Subject: [PATCH] window resize performance tuning * only call refreshUI if space change is enough * added FIXME for pane.setPrefWidth under windows, other parts that are affected see issue main.1 --- bin/application/Main.class | Bin 8594 -> 8594 bytes bin/application/MainWindowController.class | Bin 47008 -> 47008 bytes src/application/Main.java | 15 +++++++++++++-- src/application/MainWindowController.java | 1 + 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/bin/application/Main.class b/bin/application/Main.class index 87af27364a625f7f7aa3251ad1a5657f7351f52a..af5fe9ae286ba35b34c0d399fbda2f8d096e3e5d 100644 GIT binary patch delta 63 zcmV-F0Kor}Ly|+V6CefG02Bb&lNccTDck@J0NnsA0Nwyh0N(&n0N?;r0O0_00OA0X V0OJ6d0ObIq0OkOv0OylDAy%1>6-xjB delta 63 zcmV-F0Kor}Ly|+V6Cef502BbtlNccTDbWB80MY;~0Mh_W0Mr0c0M!6g0M-C=0M`JM V0N4PS0NMbf0NVhk0Nj&2Ay$bn6ubZc diff --git a/bin/application/MainWindowController.class b/bin/application/MainWindowController.class index 092642162c2d2335b08a7717dbb5b4c66e44e46d..ddfe398ca380ee0f2202ac559fffb3a418ea5697 100644 GIT binary patch delta 1176 zcmW;Kdr*~C6b10LFMHhqm4tu<1WgmYH^XZvWGeYc3w$IvDrhKbsg;E#jnhNJ@=;SX z;d~V$RuF=4LBg)0BM-IG9_oN(W0oe0I@GABiIFAK>HGJ0_F4O!J-evGQPkn6$;*%3 zjow;|!MX=--HY+M4@p{wC$t{(v;mpgh{d`eS$Y7k=wV+&{su?R_vouXAVH5HRgYq! z9y7;HSf$N)Lysd@Td+k>pj3Z?S5IP>{)|RFh41tiwCJxmt*3EG&)};5hFf|T-P$Tn zJuku9CQ*7phUi6!(@T=5?J`||mlXX&X6t3i)GP9=UX|>L+97N7n!K&oWs}~J0{v5p z^`=y4r|i_fq+Yw^Tm4&F^tPPQf23XSNEad96h{Q%xSxJLzrseD>qJimAd)@cW>1V_ zFHB(|GI$rBVsE_2AY?NbZ!rXg3`GsYaESNd1pAz7I@lMt8HH{}O91;xAp1)M z2lygC$#LYkO#Dz2{{RLv*0dOgcn(J*M_?*PVg}>!BonZRqp^ZxOslcTVInqg0xV8M zJ|9I1C&9}k)G-#xF+U3+|69{;rr;v4=|j0=C_+LmX@jh z5Oequ=J8{z>hn_*3QX=61hEj|+=^&^3J*U+0*f$)#U{T5soaKimSR53%zVntY%1^? zy=Fd@SjQ^saLK{=FF@9qemfDxFL57z7{c9nn6-F>doY=Mk<5K&!gW~4dMslDmb1~S z-?lRNAOiT6>HoFq|BbnQ$QoB#9Cj2vcnlG2!az1-D32qKKU$ro8-vfH7h4g+bLh|W z7{m)!ZdsPJTMv3et=`++ylh@_#adL+$C|a>BiC%-Z2YG2PTS8I?=l`{4J>!@U*mUd zUs^uQ;e>s`TkfWUPTB_@?NIn#vhX)+v<&l8Vj>)#p{u95R7R zU1Rqe3$vQME)FstV|z%YM_hJBTBX}8CY`aiZ#6#L_EzH~jmO&_Q{|CScFuEEF0-I? zCfZ(Ye7s$MqsncTl+MYvKeWRmNp}6}9WG8YKHc^M##3x(wTrWi&;H+i$<+mv%~qRl MiM-=W-j(L}A33{F_5c6? delta 1176 zcmW;Kdr*~C6b10LFMHiUF+?B)QOg%xAKgO1d=N?&q9#%*WGFt;N=r?q#xWB|C1;E& z>Z?H{3q%AiNZ3Uj<)K!Vg`-AJW{E;%+GvuG)XafS-@m`J&)Vng*@YdB!VX7uZr+F* z1n6E2(OS54A13I2Ox6RKu63BB^~lf$EYwCU*MnHCN4yPr*^aEE=%e2vR=-1vHetRV zGsnmAhMvGWJ&7Fs9^3Q>l;|mV^hea_X*B9jII3sRtUu$d{(|52EUsz`Zs|F6>UnW$ zn*{2w5~1x9slQ3IUXVDwC{ODpnW2BkEWIoldPQE=KP59kugY86A)ECtd0($dzFwCi zy&>g#Q}*aBsn^@`joy)F{YP5#u3XZ4a!0$QlW>G-mt!a$UY~+Sd5-8#Uxd>SE_TCX z?2ak)M>>085%0%J1|X9?v4Oo%z#vpJ7)Ka_Q+xoe3`IM8ql4kN%RcC2g!r+q^k6>; zFCQOC(R$Rspz3Qlr5+L(+BoPldh!7a`bBzAAZKDFu8@c5#(>m?^b<-TO>oy0})umut-X z-^4>)YyPm#j3^87T#rfIfN9)_dEA7B%(hM!RS({RUVI0k%t1fCi%0mL`E4%7^8-_D zVKzU+9DZa~?l?1XtI5qrPi{kR7N9S;!_7|+%TFM?!;V{nE8~N*_2@o z%guZ|*vJa&>*B*PRUkhz{i+ecJs8N(5y={i;a)t>T0F^pNaB7o;RBe@I=skwEMtRJ zzjIaKA^7pI>Hmf4|E0P8l@(u76w-ulJcckH#{izdFrGv-o2|b~-VQtmf1XDWThX6w z7{qofXV-GMXg%r)wgO6Bylh@_#ad7vYRxQlONZ@Sjo&bS)AknQw~dEb1InWKukm}f zFDZN2!7lrPr_4nk(5d!8N10phvwdW_%j_kc{>Gn@0Nd(~1sMyrYsKT1P~&lC59y4s zZHuw~#zL$Uo+u79KFIc<3b#bs8L1U6vzT-axBX+|ZrfXpk2F5Y_Q92I8Exk*t&B1Y zO6PdntBl9n_17z1W=ZLsWc%pdZb`K3*Y1wuRO8cZKV&@Fc2-64S>rSRcW+WvJ|)j; O_b!&r-lUpTpZ@?BbW;ET diff --git a/src/application/Main.java b/src/application/Main.java index 21f4699..a7f3ee0 100644 --- a/src/application/Main.java +++ b/src/application/Main.java @@ -86,7 +86,7 @@ public class Main extends Application { gamesDBFile = new File(dirWin + "/games.db"); localDB = new File(dirWin+"/localRoms.db"); pictureCache= new File(dirWin+"/picture_cache"); - pane.setPrefWidth(892); + pane.setPrefWidth(892); //FIXME this is not working under Windows anymore, need to test which size is correct. see issue #main.1 } //startup checks @@ -193,8 +193,19 @@ public class Main extends Application { final ChangeListener listener = new ChangeListener() { @Override public void changed(ObservableValue observable, Number oldValue, final Number newValue) { - mainWindowController.refreshUIData(); + int xPosHelperMax; + //TODO see issue #main.1 + if(System.getProperty("os.name").equals("Linux")){ + xPosHelperMax = (int) Math.floor((pane.getPrefWidth() - 36) / 217); + } else { + xPosHelperMax = (int) Math.floor((pane.getPrefWidth() - 24) / 217); + } mainWindowController.refreshplayBtnPosition(); + //call only if there is enough space for a new row TODO test this! + if (mainWindowController.getxPosHelper() != xPosHelperMax) { + mainWindowController.refreshUIData(); + } +// mainWindowController.refreshUIData(); //TODO saveSettings only on left mouseBtn release mainWindowController.saveSettings(); } diff --git a/src/application/MainWindowController.java b/src/application/MainWindowController.java index 017942f..82c2a04 100644 --- a/src/application/MainWindowController.java +++ b/src/application/MainWindowController.java @@ -1201,6 +1201,7 @@ public class MainWindowController { */ private void generatePosition() { int xPosHelperMax; + //TODO see issue #main.1 if(System.getProperty("os.name").equals("Linux")){ xPosHelperMax = (int) Math.floor((main.pane.getPrefWidth() - 36) / 217); } else {