package Ġme . anno . ui . debug Ċ Ċ import Ġme . anno . Engine . game Time Ċ import Ġme . anno . gpu . buffer . Buffer Ċ import Ġme . anno . gpu . texture . Cub emap Texture Ċ import Ġme . anno . gpu . texture . Texture 2 D Ċ import Ġme . anno . gpu . texture . Texture 3 D Ċ import Ġme . anno . language . translation . Dict Ċ import Ġme . anno . ui . base . constraints . Wrap Align Ċ import Ġme . anno . ui . base . text . Simple Text Panel Ċ import Ġme . anno . ui . style . Style Ċ import Ġme . anno . utils . pool ing . ByteBuffer Pool Ċ import Ġme . anno . utils . types . Float s . f 1 Ċ import Ġkotlin . math . abs Ċ Ċ class ĠRuntime Info Panel ( style : ĠStyle ) Ġ: ĠSimple Text Panel ( style ) Ġ{ ĊĊĠĠĠ Ġvar Ġupdate Interval Ġ= Ġ 5 0 0 _ 0 0 0 _ 0 0 0 ĊĠĠĠ Ġvar Ġlast Update Ġ= Ġ 0 L ĊĊĠĠĠ Ġoverride Ġfun Ġtick Update () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . tick Update () ĊĠĠĠĠĠĠĠ Ġval Ġtime Ġ= Ġgame Time ĊĠĠĠĠĠĠĠ Ġif Ġ( abs ( time Ġ- Ġlast Update ) Ġ> Ġupdate Interval ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġget Debug Text () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlast Update Ġ= Ġtime ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvalidate Layout () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Ġtodo Ġanother Ġslot Ġmay Ġbe Ġinteresting : Ġhow Ġmuch Ġram Ġis Ġused Ġby Ġsub - processes ĊĊĠĠĠ Ġ// Ġtodo Ġonclick Ġshow Ġmore Ġdetails Ġabout Ġthe Ġram Ġand Ġv ram Ġusage , Ġe . g . Ġallocated Ġtextures , Ġwith Ġand Ġwithout Ġmultis ampling , Ġ... ĊĠĠĠ Ġ// Ġtodo Ġalso Ġwe Ġcould Ġplot Ġthem Ġin Ġa Ġgraph ĊĠĠĠ Ġprivate Ġfun Ġget Debug Text (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġruntime Ġ= ĠRuntime . get Runtime () ĊĠĠĠĠĠĠĠ Ġval Ġmemory Ġ= Ġruntime . total Memory () Ġ- Ġruntime . free Memory () ĊĠĠĠĠĠĠĠ Ġval Ġvideo Memory Ġ= ĠTexture 2 D . allocated Ġ+ ĠC ub emap Texture . allocated Ġ+ ĠTexture 3 D . allocated Ġ+ ĠBuffer . allocated ĊĠĠĠĠĠĠĠ Ġval Ġc Memory Ġ= ĠByteBuffer Pool . get Allocated () ĊĠĠĠĠĠĠĠ Ġreturn ĠDict [" JVM / C / VR AM : Ġ% 1 /% 3 /% 2 ĠMB ", Ġ" ui . debug . ram Usage 2 "] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. replace ("% 1 ", Ġ( memory . toFloat () Ġ/ Ġ( 1 Ġshl Ġ 2 0 )). f 1 ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. replace ("% 2 ", Ġ( video Memory . toFloat () Ġ/ Ġ( 1 Ġshl Ġ 2 0 )). f 1 ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. replace ("% 3 ", Ġ( c Memory . toFloat () Ġ/ Ġ( 1 Ġshl Ġ 2 0 )). f 1 ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġtext Ġ= Ġget Debug Text () ĊĠĠĠĠĠĠĠ ĠtextColor Ġ= ĠtextColor Ġand Ġ 0 x 7 fffffff ĊĠĠĠĠĠĠĠ ĠbackgroundColor Ġ= ĠbackgroundColor Ġand Ġ 0 xffffff ĊĠĠĠĠĠĠĠ Ġadd ( Wrap Align . Right Bottom ) ĊĠĠĠ Ġ} Ċ Ċ }