little fps boost (thanks cire)

This commit is contained in:
kone 2023-06-28 10:20:09 -04:00
parent ed610f5f5d
commit 4238c706dd
3 changed files with 770470 additions and 60 deletions

View File

@ -1,26 +1,28 @@
buildscript { buildscript {
repositories { repositories {
mavenCentral() mavenCentral()
google()
} }
dependencies { dependencies {
classpath 'io.github.zebalu:teavm-gradle-plugin:1.0.0' // classpath 'io.github.zebalu:teavm-gradle-plugin:1.0.0'
} }
} }
apply plugin: 'java' plugins {
apply plugin: 'eclipse' id 'java'
apply plugin: 'io.github.zebalu.teavm-gradle-plugin' id 'eclipse'
id "org.teavm" version "0.8.1"
}
sourceCompatibility = 1.8 sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = 1.8 targetCompatibility = JavaVersion.VERSION_11
sourceSets { sourceSets {
main { main {
java { java {
srcDir 'src/main/java' srcDir 'src/main/java'
srcDir 'src/teavm/java' srcDir 'src/teavm'
} }
} }
} }
@ -30,30 +32,32 @@ repositories {
} }
dependencies { dependencies {
/** we use 0.6.1 due to performance issues on 7.0.0 */ // https://mvnrepository.com/artifact/org.teavm/teavm-platform
implementation 'org.teavm:teavm-platform:0.6.1' implementation 'org.teavm:teavm-platform:0.8.1'
implementation('org.teavm:teavm-classlib:0.6.1') { // https://mvnrepository.com/artifact/org.teavm/teavm-classlib
exclude group: 'com.google.code.gson', module: 'gson' implementation 'org.teavm:teavm-classlib:0.8.1'
} // https://mvnrepository.com/artifact/org.teavm/teavm-interop
implementation 'org.teavm:teavm-interop:0.8.1'
// https://mvnrepository.com/artifact/org.teavm/teavm-jso
implementation 'org.teavm:teavm-jso:0.8.1'
// https://mvnrepository.com/artifact/org.teavm/teavm-jso-apis
implementation 'org.teavm:teavm-jso-apis:0.8.1'
// https://mvnrepository.com/artifact/org.teavm/teavm-junit
testImplementation 'org.teavm:teavm-junit:0.8.1'
// https://mvnrepository.com/artifact/org.teavm/teavm-jso-impl
implementation 'org.teavm:teavm-jso-impl:0.8.1'
// https://mvnrepository.com/artifact/com.jcraft/jzlib
implementation 'com.jcraft:jzlib:1.1.3'
} }
teavm { teavm.js {
compileScopes = null;
minifying = true;
maxTopLevelNames = 10000;
properties = null; properties = null;
debugInformationGenerated = false; debugInformation = false;
sourceMapsGenerated = true; sourceMap = true;
sourceFilesCopied = false; obfuscated = false;
incremental = false;
transformers = null;
/** Where to save the result */ /** Where to save the result */
targetDirectory = file("javascript"); outputDir = file("javascript");
/** The directory to monitor to decide if compile is up-to-date or not */
sourceDirectory = file("src");
/** How to name the result file. */ /** How to name the result file. */
targetFileName = "classes.js"; targetFileName = "classes.js";
@ -64,23 +68,22 @@ teavm {
/** This will be the name of your main method after compilation. */ /** This will be the name of your main method after compilation. */
entryPointName = 'main'; entryPointName = 'main';
classesToPreserve = null; preservedClasses = Arrays.asList('net.minecraft.client.Minecraft');
stopOnErrors = false; // optimization = BALANCED; //org.teavm.vm.TeaVMOptimizationLevel.SIMPLE;
optimizationLevel = "ADVANCED"; //org.teavm.vm.TeaVMOptimizationLevel.SIMPLE;
fastGlobalAnalysis = false; fastGlobalAnalysis = false;
targetType = "JAVASCRIPT"; //org.teavm.tooling.TeaVMTargetType.JAVASCRIPT; // targetType = "JAVASCRIPT"; //org.teavm.tooling.TeaVMTargetType.JAVASCRIPT;
cacheDirectory = null; // cacheDirectory = null;
wasmVersion = "V_0x1"; //org.teavm.backend.wasm.render.WasmBinaryVersion.V_0x1; // wasmVersion = "V_0x1"; //org.teavm.backend.wasm.render.WasmBinaryVersion.V_0x1;
minHeapSize = 256; // minHeapSize = 4;
maxHeapSize = 256; // maxHeapSize = 128;
outOfProcess = false; outOfProcess = false;
processMemory = 2048; processMemory = 512;
longjmpSupported = true; // longjmpSupported = true;
heapDump = false; // heapDump = false;
/** Add name of configurations here where to look for jarfiles. */ /** Add name of configurations here where to look for jarfiles. */
includeJarsFrom = []; // includeJarsFrom = [];
/** By default teavmc taskd epends on javaCompile task, unless this varaibale is true. */ /** By default teavmc taskd epends on javaCompile task, unless this varaibale is true. */
skipJavaCompile = false; // skipJavaCompile = false;
} }

770406
javascript/js/classes.js Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long