mirror of
https://github.com/RandomityGuy/MBHaxe.git
synced 2025-10-30 08:11:25 +00:00
profiler ui
This commit is contained in:
parent
d970c87015
commit
0f64035543
5 changed files with 59 additions and 7 deletions
|
|
@ -5,6 +5,5 @@
|
|||
-hl marblegame.hl
|
||||
-D windowSize=1280x720
|
||||
-D keep-inline-positions
|
||||
-D android
|
||||
--main Main
|
||||
-debug
|
||||
14
src/Main.hx
14
src/Main.hx
|
|
@ -16,12 +16,11 @@ import gui.MainMenuGui;
|
|||
import hxd.res.DefaultFont;
|
||||
import h2d.Text;
|
||||
import h3d.Vector;
|
||||
import src.ProfilerUI;
|
||||
|
||||
class Main extends hxd.App {
|
||||
var marbleGame:MarbleGame;
|
||||
|
||||
// var fpsCounter:Text;
|
||||
var debugProfiler:h3d.impl.Benchmark;
|
||||
var loaded:Bool = false;
|
||||
|
||||
override function init() {
|
||||
|
|
@ -64,6 +63,8 @@ class Main extends hxd.App {
|
|||
marbleGame = new MarbleGame(s2d, s3d);
|
||||
MarbleGame.canvas.setContent(new MainMenuGui());
|
||||
|
||||
new ProfilerUI(s2d);
|
||||
|
||||
loaded = true;
|
||||
});
|
||||
|
||||
|
|
@ -91,19 +92,20 @@ class Main extends hxd.App {
|
|||
override function update(dt:Float) {
|
||||
super.update(dt);
|
||||
if (loaded) {
|
||||
ProfilerUI.begin();
|
||||
ProfilerUI.measure("updateBegin");
|
||||
marbleGame.update(dt);
|
||||
// world.update(dt);
|
||||
// fpsCounter.text = 'FPS: ${this.engine.fps}';
|
||||
ProfilerUI.update(this.engine.fps);
|
||||
}
|
||||
}
|
||||
|
||||
override function render(e:h3d.Engine) {
|
||||
// this.world.render(e);
|
||||
if (loaded) {
|
||||
// debugProfiler.begin();
|
||||
// debugProfiler.measure("marbleGame");
|
||||
ProfilerUI.measure("renderBegin");
|
||||
marbleGame.render(e);
|
||||
// debugProfiler.end();
|
||||
ProfilerUI.end();
|
||||
}
|
||||
super.render(e);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@ import src.MarbleWorld;
|
|||
import src.JSPlatform;
|
||||
import gui.Canvas;
|
||||
import src.Util;
|
||||
import src.ProfilerUI;
|
||||
|
||||
@:publicFields
|
||||
class MarbleGame {
|
||||
|
|
@ -159,6 +160,7 @@ class MarbleGame {
|
|||
var mouseState:MouseState = {
|
||||
position: new Vector(canvas.scene2d.mouseX, canvas.scene2d.mouseY)
|
||||
}
|
||||
ProfilerUI.measure("canvasUpdate");
|
||||
canvas.update(dt, mouseState);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -70,6 +70,7 @@ import h3d.scene.Scene;
|
|||
import collision.CollisionWorld;
|
||||
import src.Marble;
|
||||
import src.Resource;
|
||||
import src.ProfilerUI;
|
||||
|
||||
class MarbleWorld extends Scheduler {
|
||||
public var collisionWorld:CollisionWorld;
|
||||
|
|
@ -723,18 +724,25 @@ class MarbleWorld extends Scheduler {
|
|||
if (!_ready) {
|
||||
return;
|
||||
}
|
||||
ProfilerUI.measure("updateTimer");
|
||||
this.updateTimer(dt);
|
||||
this.tickSchedule(timeState.currentAttemptTime);
|
||||
this.updateGameState();
|
||||
ProfilerUI.measure("updateDTS");
|
||||
for (obj in dtsObjects) {
|
||||
obj.update(timeState);
|
||||
}
|
||||
ProfilerUI.measure("updateMarbles");
|
||||
for (marble in marbles) {
|
||||
marble.update(timeState, collisionWorld, this.pathedInteriors);
|
||||
}
|
||||
ProfilerUI.measure("updateInstances");
|
||||
this.instanceManager.update(dt);
|
||||
ProfilerUI.measure("updateParticles");
|
||||
this.particleManager.update(1000 * timeState.timeSinceLoad, dt);
|
||||
ProfilerUI.measure("updatePlayGui");
|
||||
this.playGui.update(timeState);
|
||||
ProfilerUI.measure("updateAudio");
|
||||
AudioManager.update(this.scene);
|
||||
|
||||
if (this.outOfBounds && this.finishTime == null && Key.isDown(Settings.controlsSettings.powerup)) {
|
||||
|
|
|
|||
41
src/ProfilerUI.hx
Normal file
41
src/ProfilerUI.hx
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
package src;
|
||||
|
||||
import h3d.Vector;
|
||||
import hxd.res.DefaultFont;
|
||||
import h2d.Text;
|
||||
|
||||
class ProfilerUI {
|
||||
var fpsCounter:Text;
|
||||
var debugProfiler:h3d.impl.Benchmark;
|
||||
|
||||
public static var instance:ProfilerUI;
|
||||
|
||||
public function new(s2d:h2d.Scene) {
|
||||
if (instance != null)
|
||||
return;
|
||||
|
||||
instance = this;
|
||||
// debugProfiler = new h3d.impl.Benchmark(s2d);
|
||||
// debugProfiler.y = 40;
|
||||
|
||||
// fpsCounter = new Text(DefaultFont.get(), s2d);
|
||||
// fpsCounter.y = 80;
|
||||
// fpsCounter.color = new Vector(1, 1, 1, 1);
|
||||
}
|
||||
|
||||
public static function begin() {
|
||||
// instance.debugProfiler.begin();
|
||||
}
|
||||
|
||||
public static function measure(name:String) {
|
||||
// instance.debugProfiler.measure(name);
|
||||
}
|
||||
|
||||
public static function end() {
|
||||
// instance.debugProfiler.end();
|
||||
}
|
||||
|
||||
public static function update(fps:Float) {
|
||||
// instance.fpsCounter.text = "FPS: " + fps;
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue