-GUI performance improve
This commit is contained in:
tonikelope 2019-09-19 22:45:55 +02:00
parent cb0fc35bf0
commit 6bb7d104ba
13 changed files with 86 additions and 144 deletions

View File

@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>com.tonikelope</groupId> <groupId>com.tonikelope</groupId>
<artifactId>MegaBasterd</artifactId> <artifactId>MegaBasterd</artifactId>
<version>6.43</version> <version>6.44</version>
<packaging>jar</packaging> <packaging>jar</packaging>
<dependencies> <dependencies>
<dependency> <dependency>

View File

@ -101,8 +101,6 @@ public class ChunkDownloader implements Runnable, SecureSingleThreadNotifiable {
@Override @Override
public void run() { public void run() {
Thread.currentThread().setPriority(Math.max(Thread.currentThread().getPriority() - 1, Thread.MIN_PRIORITY));
LOG.log(Level.INFO, "{0} Worker [{1}]: let''s do some work!", new Object[]{Thread.currentThread().getName(), _id}); LOG.log(Level.INFO, "{0} Worker [{1}]: let''s do some work!", new Object[]{Thread.currentThread().getName(), _id});
HttpURLConnection con; HttpURLConnection con;

View File

@ -27,8 +27,6 @@ public class ChunkDownloaderMono extends ChunkDownloader {
@Override @Override
public void run() { public void run() {
Thread.currentThread().setPriority(Math.max(Thread.currentThread().getPriority() - 1, Thread.MIN_PRIORITY));
LOG.log(Level.INFO, "{0} Worker [{1}]: let''s do some work!", new Object[]{Thread.currentThread().getName(), getId()}); LOG.log(Level.INFO, "{0} Worker [{1}]: let''s do some work!", new Object[]{Thread.currentThread().getName(), getId()});
HttpURLConnection con = null; HttpURLConnection con = null;

View File

@ -93,8 +93,6 @@ public class ChunkUploader implements Runnable, SecureSingleThreadNotifiable {
@Override @Override
public void run() { public void run() {
Thread.currentThread().setPriority(Math.max(Thread.currentThread().getPriority() - 1, Thread.MIN_PRIORITY));
LOG.log(Level.INFO, "{0} ChunkUploader {1} hello! {2}", new Object[]{Thread.currentThread().getName(), getId(), getUpload().getFile_name()}); LOG.log(Level.INFO, "{0} ChunkUploader {1} hello! {2}", new Object[]{Thread.currentThread().getName(), getId(), getUpload().getFile_name()});
long chunk_id = 0; long chunk_id = 0;

View File

@ -646,8 +646,6 @@ public final class Download implements Transference, Runnable, SecureSingleThrea
getView().printStatusNormal(LabelTranslatorSingleton.getInstance().translate("Downloading file from mega ") + (_ma.getFull_email() != null ? "(" + _ma.getFull_email() + ")" : "") + " ..."); getView().printStatusNormal(LabelTranslatorSingleton.getInstance().translate("Downloading file from mega ") + (_ma.getFull_email() != null ? "(" + _ma.getFull_email() + ")" : "") + " ...");
getMain_panel().getDownload_manager().secureNotify();
swingInvoke( swingInvoke(
new Runnable() { new Runnable() {
@Override @Override
@ -705,8 +703,6 @@ public final class Download implements Transference, Runnable, SecureSingleThrea
} }
}); });
getMain_panel().getDownload_manager().secureNotify();
if (_progress == _file_size) { if (_progress == _file_size) {
if (_file.length() != _file_size) { if (_file.length() != _file_size) {

View File

@ -3,7 +3,6 @@ package com.tonikelope.megabasterd;
import static com.tonikelope.megabasterd.DBTools.*; import static com.tonikelope.megabasterd.DBTools.*;
import static com.tonikelope.megabasterd.MainPanel.*; import static com.tonikelope.megabasterd.MainPanel.*;
import static com.tonikelope.megabasterd.MiscTools.*; import static com.tonikelope.megabasterd.MiscTools.*;
import java.awt.Component;
import java.sql.SQLException; import java.sql.SQLException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.logging.Level; import java.util.logging.Level;
@ -89,8 +88,6 @@ public final class DownloadManager extends TransferenceManager {
@Override @Override
public void run() { public void run() {
Thread.currentThread().setPriority(Math.max(Thread.currentThread().getPriority() - 1, Thread.MIN_PRIORITY));
try { try {
_provision((Download) download, true); _provision((Download) download, true);
@ -118,39 +115,9 @@ public final class DownloadManager extends TransferenceManager {
getTransference_waitstart_queue().add(download); getTransference_waitstart_queue().add(download);
synchronized (getQueue_sort_lock()) {
if (!isPreprocessing_transferences() && !isProvisioning_transferences()) {
sortTransferenceWaitStartQueue();
swingInvoke(
new Runnable() {
@Override
public void run() {
for (final Transference down : getTransference_waitstart_queue()) {
getScroll_panel().remove((Component) down.getView());
getScroll_panel().add((Component) down.getView());
}
for (final Transference down : getTransference_finished_queue()) {
getScroll_panel().remove((Component) down.getView());
getScroll_panel().add((Component) down.getView());
}
}
});
}
}
} else {
getTransference_finished_queue().add(download);
} }
} }
private static final Logger LOG = Logger.getLogger(DownloadManager.class.getName()); private static final Logger LOG = Logger.getLogger(DownloadManager.class.getName());
} }

View File

@ -103,8 +103,6 @@ public final class FileGrabberDialog extends javax.swing.JDialog implements File
@Override @Override
public void run() { public void run() {
Thread.currentThread().setPriority(Math.max(Thread.currentThread().getPriority() - 1, Thread.MIN_PRIORITY));
if (_drag_drop_files != null) { if (_drag_drop_files != null) {
file_drop_notify(_drag_drop_files); file_drop_notify(_drag_drop_files);

View File

@ -50,7 +50,7 @@ import javax.swing.UIManager;
*/ */
public final class MainPanel { public final class MainPanel {
public static final String VERSION = "6.43"; public static final String VERSION = "6.44";
public static final int THROTTLE_SLICE_SIZE = 16 * 1024; public static final int THROTTLE_SLICE_SIZE = 16 * 1024;
public static final int DEFAULT_BYTE_BUFFER_SIZE = 16 * 1024; public static final int DEFAULT_BYTE_BUFFER_SIZE = 16 * 1024;
public static final int STREAMER_PORT = 1337; public static final int STREAMER_PORT = 1337;

View File

@ -383,29 +383,16 @@ public final class MainPanelView extends javax.swing.JFrame implements FileDropH
if (n == 0) { if (n == 0) {
List<File> single_files = new ArrayList<>();
for (File file : files) { for (File file : files) {
List<File> aux = new ArrayList<>(); List<File> aux = new ArrayList<>();
if (file.isDirectory()) { aux.add(file);
aux.add(file); final FileGrabberDialog dialog = new FileGrabberDialog(tthis, true, aux);
final FileGrabberDialog dialog = new FileGrabberDialog(tthis, true, aux);
_new_upload_dialog(dialog);
} else {
single_files.add(file);
}
}
if (single_files.size() > 0) {
final FileGrabberDialog dialog = new FileGrabberDialog(tthis, true, single_files);
_new_upload_dialog(dialog); _new_upload_dialog(dialog);
} }
} else if (n == 1) { } else if (n == 1) {

View File

@ -315,25 +315,30 @@ abstract public class TransferenceManager implements Runnable, SecureSingleThrea
getTransference_waitstart_queue().addAll(wait_array); getTransference_waitstart_queue().addAll(wait_array);
swingInvoke( for (final Transference t1 : getTransference_waitstart_queue()) {
new Runnable() {
@Override
public void run() {
for (final Transference t : getTransference_waitstart_queue()) {
getScroll_panel().remove((Component) t.getView());
getScroll_panel().add((Component) t.getView());
swingInvoke(
new Runnable() {
@Override
public void run() {
getScroll_panel().remove((Component) t1.getView());
getScroll_panel().add((Component) t1.getView());
} }
});
for (final Transference t : getTransference_finished_queue()) { }
getScroll_panel().remove((Component) t.getView()); for (final Transference t1 : getTransference_finished_queue()) {
getScroll_panel().add((Component) t.getView());
swingInvoke(
new Runnable() {
@Override
public void run() {
getScroll_panel().remove((Component) t1.getView());
getScroll_panel().add((Component) t1.getView());
} }
} });
}); }
_frozen = false; _frozen = false;
} }
@ -367,25 +372,30 @@ abstract public class TransferenceManager implements Runnable, SecureSingleThrea
getTransference_waitstart_queue().addAll(wait_array); getTransference_waitstart_queue().addAll(wait_array);
swingInvoke( for (final Transference t1 : getTransference_waitstart_queue()) {
new Runnable() {
@Override
public void run() {
for (final Transference t : getTransference_waitstart_queue()) {
getScroll_panel().remove((Component) t.getView());
getScroll_panel().add((Component) t.getView());
swingInvoke(
new Runnable() {
@Override
public void run() {
getScroll_panel().remove((Component) t1.getView());
getScroll_panel().add((Component) t1.getView());
} }
});
for (final Transference t : getTransference_finished_queue()) { }
getScroll_panel().remove((Component) t.getView()); for (final Transference t2 : getTransference_finished_queue()) {
getScroll_panel().add((Component) t.getView());
swingInvoke(
new Runnable() {
@Override
public void run() {
getScroll_panel().remove((Component) t2.getView());
getScroll_panel().add((Component) t2.getView());
} }
} });
}); }
_frozen = false; _frozen = false;
} }
@ -397,17 +407,7 @@ abstract public class TransferenceManager implements Runnable, SecureSingleThrea
_transference_running_list.add(transference); _transference_running_list.add(transference);
swingInvoke(
new Runnable() {
@Override
public void run() {
getScroll_panel().add((Component) transference.getView(), 0);
}
});
transference.start(); transference.start();
secureNotify();
} }
public void pauseAll() { public void pauseAll() {
@ -553,8 +553,6 @@ abstract public class TransferenceManager implements Runnable, SecureSingleThrea
@Override @Override
public void run() { public void run() {
Thread.currentThread().setPriority(Math.max(Thread.currentThread().getPriority() - 1, Thread.MIN_PRIORITY));
if (!getTransference_remove_queue().isEmpty()) { if (!getTransference_remove_queue().isEmpty()) {
ArrayList<Transference> transferences = new ArrayList(getTransference_remove_queue()); ArrayList<Transference> transferences = new ArrayList(getTransference_remove_queue());
@ -579,8 +577,6 @@ abstract public class TransferenceManager implements Runnable, SecureSingleThrea
@Override @Override
public void run() { public void run() {
Thread.currentThread().setPriority(Math.max(Thread.currentThread().getPriority() - 1, Thread.MIN_PRIORITY));
while (!getTransference_preprocess_queue().isEmpty()) { while (!getTransference_preprocess_queue().isEmpty()) {
Runnable run = getTransference_preprocess_queue().poll(); Runnable run = getTransference_preprocess_queue().poll();
@ -619,8 +615,6 @@ abstract public class TransferenceManager implements Runnable, SecureSingleThrea
@Override @Override
public void run() { public void run() {
Thread.currentThread().setPriority(Math.max(Thread.currentThread().getPriority() - 1, Thread.MIN_PRIORITY));
while (!getTransference_provision_queue().isEmpty()) { while (!getTransference_provision_queue().isEmpty()) {
Transference transference = getTransference_provision_queue().poll(); Transference transference = getTransference_provision_queue().poll();
@ -631,6 +625,41 @@ abstract public class TransferenceManager implements Runnable, SecureSingleThrea
} }
} }
synchronized (getQueue_sort_lock()) {
if (!isPreprocessing_transferences() && !isProvisioning_transferences()) {
sortTransferenceWaitStartQueue();
for (Transference up : getTransference_waitstart_queue()) {
swingInvoke(
new Runnable() {
@Override
public void run() {
getScroll_panel().remove((Component) up.getView());
getScroll_panel().add((Component) up.getView());
}
});
}
for (Transference up : getTransference_finished_queue()) {
swingInvoke(
new Runnable() {
@Override
public void run() {
getScroll_panel().remove((Component) up.getView());
getScroll_panel().add((Component) up.getView());
}
});
}
}
}
_frozen = false; _frozen = false;
setProvisioning_transferences(false); setProvisioning_transferences(false);
@ -650,8 +679,6 @@ abstract public class TransferenceManager implements Runnable, SecureSingleThrea
@Override @Override
public void run() { public void run() {
Thread.currentThread().setPriority(Math.max(Thread.currentThread().getPriority() - 1, Thread.MIN_PRIORITY));
while (!_frozen && !getTransference_waitstart_queue().isEmpty() && getTransference_running_list().size() < _max_running_trans) { while (!_frozen && !getTransference_waitstart_queue().isEmpty() && getTransference_running_list().size() < _max_running_trans) {
Transference transference = getTransference_waitstart_queue().peek(); Transference transference = getTransference_waitstart_queue().peek();
@ -662,11 +689,18 @@ abstract public class TransferenceManager implements Runnable, SecureSingleThrea
start(transference); start(transference);
try {
Thread.sleep(1000);
} catch (InterruptedException ex) {
Logger.getLogger(TransferenceManager.class.getName()).log(Level.SEVERE, null, ex);
}
} else { } else {
_frozen = true; _frozen = true;
} }
} }
synchronized (getWait_queue_lock()) { synchronized (getWait_queue_lock()) {

View File

@ -801,8 +801,6 @@ public final class Upload implements Transference, Runnable, SecureSingleThreadN
getView().printStatusNormal(LabelTranslatorSingleton.getInstance().translate("Uploading file to mega (") + _ma.getFull_email() + ") ..."); getView().printStatusNormal(LabelTranslatorSingleton.getInstance().translate("Uploading file to mega (") + _ma.getFull_email() + ") ...");
getMain_panel().getUpload_manager().secureNotify();
swingInvoke( swingInvoke(
new Runnable() { new Runnable() {
@Override @Override
@ -856,8 +854,6 @@ public final class Upload implements Transference, Runnable, SecureSingleThreadN
} }
}); });
getMain_panel().getUpload_manager().secureNotify();
if (!_exit) { if (!_exit) {
if (_completion_handle != null) { if (_completion_handle != null) {

View File

@ -1,7 +1,6 @@
package com.tonikelope.megabasterd; package com.tonikelope.megabasterd;
import static com.tonikelope.megabasterd.MiscTools.*; import static com.tonikelope.megabasterd.MiscTools.*;
import java.awt.Component;
import java.sql.SQLException; import java.sql.SQLException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.concurrent.ConcurrentLinkedQueue; import java.util.concurrent.ConcurrentLinkedQueue;
@ -52,35 +51,6 @@ public final class UploadManager extends TransferenceManager {
getTransference_waitstart_queue().add(upload); getTransference_waitstart_queue().add(upload);
synchronized (getQueue_sort_lock()) {
if (!isPreprocessing_transferences() && !isProvisioning_transferences()) {
sortTransferenceWaitStartQueue();
swingInvoke(
new Runnable() {
@Override
public void run() {
for (Transference up : getTransference_waitstart_queue()) {
getScroll_panel().remove((Component) up.getView());
getScroll_panel().add((Component) up.getView());
}
for (Transference up : getTransference_finished_queue()) {
getScroll_panel().remove((Component) up.getView());
getScroll_panel().add((Component) up.getView());
}
}
});
}
}
} else { } else {
getTransference_finished_queue().add(upload); getTransference_finished_queue().add(upload);

Binary file not shown.

Before

Width:  |  Height:  |  Size: 204 KiB

After

Width:  |  Height:  |  Size: 217 KiB