Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Advanced FPS Counter [RELEASED]

Discussion in 'Assets and Asset Store' started by codestage, Feb 12, 2014.

  1. codestage

    codestage

    Joined:
    Jul 27, 2012
    Posts:
    1,931
    Hey, new version just went for review and it has this feature added. I'll post here again as soon as new version will be available at the store. If you don't wish to wait - just let me know and I'll drop you new version directly.
     
  2. codestage

    codestage

    Joined:
    Jul 27, 2012
    Posts:
    1,931
    Hey everyone!

    I'm glad to let you know new AFPSCounter 1.3.2.0 update is live at the store!

    Update highlights:
    - brand new optional background effect with customizable color and padding (much cheaper than Shadow and Outline)
    - brand new optional circle gesture to switch counter at any device (even from GearVR touch panel)
    - new AutoScale option
    - new Pixel Perfect option (requested by @iivo_k )
    - new device model option at the Device Info counter (request by @Mario_Basha )
    - new Style option for each counter to control counters font style
    - now AFPSCounter installs at the Plugins folder by default to reduce scripts recompilation time
    - lots of other additions and fixes (see full list below)!

    Check out these changes at the WebGL demo if you still don't have AFPSCounter at your toolbox:
    http://codestage.ru/unity/fpscounter/demo/

    TODO list is still full of great things, stay tuned!

    1.3.2.0
    WARNING: path of the plugin changed, please remove previous version!
    - new AutoScale look & feel option
    - new background effect with color and padding (cheapest one)
    - new circle gesture to switch the counters on and off (mobile-friendly)
    - new option to control Pixel Perfect of own canvas
    - new Device Information counter readout: Model (e.g.: samsung SM-N9005)
    - new option to show FPS Min and Max readouts on two separate lines
    - now each counter has own font style option
    - now you may add custom text to any counter using ExtraText property
    - VeraMono font now automatically applied when adding plugin from the menu
    - now FPS and Memory counters are time scale independent on Unity 5.4+
    - fixed rare issue where Min and Max FPS counters stuck at -1 value
    - fixed Unity 5.5 compatibility issues
    - fixed rare null reference exception when used with external canvas
    - prefab and default settings were tuned a bit
    - minor fixes and improvements
     
    Last edited: Dec 1, 2016
    Dwight_Everhart and schmosef like this.
  3. codestage

    codestage

    Joined:
    Jul 27, 2012
    Posts:
    1,931
    Oh, did I mention a new video? No? Silly me! =D

     
    Dwight_Everhart and schmosef like this.
  4. schmosef

    schmosef

    Joined:
    Mar 6, 2012
    Posts:
    852
    Thank you for your continued support of this asset. I use it in every project.

    I just watched your new video and gave it a like on YouTube.
     
    codestage likes this.
  5. LennartJohansen

    LennartJohansen

    Joined:
    Dec 1, 2014
    Posts:
    2,394
    Hi. I am having an issue with Advanced FPS Counter. I am running Unity 5.5. Release and the lasted version of FPS Counter. I am experiencing a peak in CPU use at the same interval as FPS Counter. 0.5s. I tried to adjust this and peaks follows the intervals.

    The profiler said. Canvas.SendWillRenderCanvases. and uses about 4ms every time.

    If I turn off the counter the spikes goes away. my other canvas does not affect this. tried turning it on and off.
    Any idea?
     

    Attached Files:

  6. codestage

    codestage

    Joined:
    Jul 27, 2012
    Posts:
    1,931
    Hey, @LennartJohansen !

    Do you have any effects enabled (except the background one)?
    Both shadow and outline effects are pretty resources-heavy and I'd recommend to avoid their usage and use only background effect instead.

    If you have all effects disabled or you have only background effect enabled, would be nice to look at the AFPSCounter inspector or get a repro case from you so I could try reproduce this issue on my side.
     
  7. codestage

    codestage

    Joined:
    Jul 27, 2012
    Posts:
    1,931
    P.S. some tiny spikes under 1 ms from Canvas is an expected behaviour right now, here I have about 0.7 ms spikes in 5.5.0 release with all counters enabled:

    upload_2016-12-15_23-29-52.png

    P.P.S. Did you notice that new "rndr" output under Min / Max FPS ?
    This is a new feature I'm working now, it tries to show Camera.Render() time. Not sure why I'm doing this, but people say it may be useful, so...
     
    Last edited: Dec 15, 2016
  8. LennartJohansen

    LennartJohansen

    Joined:
    Dec 1, 2014
    Posts:
    2,394
    With background and shadows off it is down to about 1ms. much better.
    Do you know what might be making the spike? My normal UI and text does not have this effect.
     
  9. codestage

    codestage

    Joined:
    Jul 27, 2012
    Posts:
    1,931
    I believe it's because it changes text.
    Do you have similar amount of text which changes in your normal UI?..

    I did tried to disable memory counter, min\max and average FPS readouts and it dropped for me from 0.7 to 0.3 ms.
     
  10. szu3d

    szu3d

    Joined:
    Nov 27, 2014
    Posts:
    3
    I had buy Advanced FPS Counter,and it's very useful.But I found bug.
    When Time.timeScale == 0. It's not work.Because it used Coroutine.
    So I fixed the bug use follow code in the class " AFPSCounter":

    Code (csharp):
    1.  
    2. private void Update()
    3.  {
    4.  if (!inited) return;
    5.  
    6.  ProcessHotKey();
    7.  if(Time.timeScale<=0f){//Time.timeScale is zero
    8.  UpdateFPSCounter4Time0();
    9.  UpdateMemoryCounter4Time0();
    10.  }
    11.  }
    12.  
    13.  private float lastUpdateFPSCounter4Time0 = 0f;
    14.  float previousUpdateTime =0f;
    15.  int previousUpdateFrames =0;
    16.  private void UpdateFPSCounter4Time0()
    17.  {
    18.  if(lastUpdateFPSCounter4Time0<=0){
    19.  lastUpdateFPSCounter4Time0 = Time.realtimeSinceStartup;
    20.  previousUpdateTime = Time.unscaledTime;
    21.  previousUpdateFrames = Time.frameCount;
    22.  
    23.  return;
    24.  }
    25.  
    26.  float crtTime=Time.realtimeSinceStartup;
    27.  if(crtTime - lastUpdateFPSCounter4Time0 < fpsCounter.UpdateInterval ){
    28.  return;
    29.  }
    30.  float timeElapsed = Time.unscaledTime - previousUpdateTime;
    31.  int framesChanged = Time.frameCount - previousUpdateFrames;
    32.  lastUpdateFPSCounter4Time0 = Time.realtimeSinceStartup;
    33.  
    34.  fpsCounter.newValue = framesChanged / timeElapsed;
    35.  fpsCounter.UpdateValue(false);
    36.  UpdateTexts();
    37.  previousUpdateTime = Time.unscaledTime;
    38.  previousUpdateFrames = Time.frameCount;
    39.  
    40.  }
    41.  
    42.  private float lastUpdateMemoryCounter4Time0 = 0f;
    43.  private void UpdateMemoryCounter4Time0()
    44.  {
    45.  if(lastUpdateMemoryCounter4Time0<=0){
    46.  lastUpdateMemoryCounter4Time0 = Time.realtimeSinceStartup;
    47.  return;
    48.  }
    49.  float crtTime=Time.realtimeSinceStartup;
    50.  if(crtTime - lastUpdateMemoryCounter4Time0 <memoryCounter.UpdateInterval){
    51.  return;
    52.  }
    53.  lastUpdateMemoryCounter4Time0 = Time.realtimeSinceStartup;
    54.  memoryCounter.UpdateValue();
    55.  UpdateTexts();
    56.  }
    57.  
     
    codestage likes this.
  11. szu3d

    szu3d

    Joined:
    Nov 27, 2014
    Posts:
    3
    Oh,I update the new version Advanced FPS Counter .I found
    #if UNITY_5_4_OR_NEWER
    yield return new WaitForSecondsRealtime(fpsCounter.UpdateInterval);
    #else
    yield return new WaitForSeconds(fpsCounter.UpdateInterval);
    #endif

    So when use UNITY 5.4 or newer maybe is ok.

    So I change the code :

    Code (csharp):
    1.  
    2.  
    3.        private void Update()
    4.  {
    5.  if (!inited) return;
    6.  
    7.  ProcessHotKey();
    8.  
    9.  if (circleGesture && CircleGestureMade())
    10.  {
    11.  SwitchCounter();
    12.  }
    13.  #if !UNITY_5_4_OR_NEWER
    14.  if(Time.timeScale<=0f){
    15.  UpdateFPSCounter4Time0();
    16.  UpdateMemoryCounter4Time0();
    17.  }
    18.  #endif
    19.  }
    20.  private float lastUpdateFPSCounter4Time0 = 0f;
    21.  float previousUpdateTime =0f;
    22.  int previousUpdateFrames =0;
    23.  private void UpdateFPSCounter4Time0()
    24.  {
    25.  if(lastUpdateFPSCounter4Time0<=0){
    26.  lastUpdateFPSCounter4Time0 = Time.realtimeSinceStartup;
    27.  previousUpdateTime = Time.unscaledTime;
    28.  previousUpdateFrames = Time.frameCount;
    29.  
    30.  return;
    31.  }
    32.  
    33.  float crtTime=Time.realtimeSinceStartup;
    34.  if(crtTime - lastUpdateFPSCounter4Time0 < fpsCounter.UpdateInterval ){
    35.  return;
    36.  }
    37.  float timeElapsed = Time.unscaledTime - previousUpdateTime;
    38.  int framesChanged = Time.frameCount - previousUpdateFrames;
    39.  lastUpdateFPSCounter4Time0 = Time.realtimeSinceStartup;
    40.  
    41.  fpsCounter.newValue = framesChanged / timeElapsed;
    42.  fpsCounter.UpdateValue(false);
    43.  UpdateTexts();
    44.  previousUpdateTime = Time.unscaledTime;
    45.  previousUpdateFrames = Time.frameCount;
    46.  
    47.  }
    48.  
    49.  private float lastUpdateMemoryCounter4Time0 = 0f;
    50.  private void UpdateMemoryCounter4Time0()
    51.  {
    52.  if(lastUpdateMemoryCounter4Time0<=0){
    53.  lastUpdateMemoryCounter4Time0 = Time.realtimeSinceStartup;
    54.  return;
    55.  }
    56.  float crtTime=Time.realtimeSinceStartup;
    57.  if(crtTime - lastUpdateMemoryCounter4Time0 <memoryCounter.UpdateInterval){
    58.  return;
    59.  }
    60.  lastUpdateMemoryCounter4Time0 = Time.realtimeSinceStartup;
    61.  memoryCounter.UpdateValue();
    62.  UpdateTexts();
    63.  }
    64.  
    65.  
     
    codestage likes this.
  12. codestage

    codestage

    Joined:
    Jul 27, 2012
    Posts:
    1,931
    Hey, @szu3d !

    Yeah, it should work in latest version in Unity 5.4 and newer. Thanks for sharing your fix for the pre-5.4!
     
  13. eco_bach

    eco_bach

    Joined:
    Jul 8, 2013
    Posts:
    1,601
    Hi
    I have a project where I am dependent on using NGUI. For some reason Advanced FPS counter is not displaying. Can you suggest a solution or point me to a demo using NGUI?
     
  14. codestage

    codestage

    Joined:
    Jul 27, 2012
    Posts:
    1,931
    Hey, @eco_bach

    NGUI output isn't supported, but you're free to use background mode and public APIs to output desired values anywhere, including NGUI components.

    Take a look at the APITester script to find out how to read counter's values from code.
     
  15. codestage

    codestage

    Joined:
    Jul 27, 2012
    Posts:
    1,931
    Hey everyone!

    I'm glad to let you know new version 1.3.3.0 is available at the store!

    In this update, you'll see brand new addition to the FPS Counter - Render Time!
    It will show approximate time your camera(s) spends on rendering stuff.
    Please note, Images Effects and IMGUI doesn't included into the render time measurements.

    To get started with this new feature, all you need is to enable it at the inspector:

    upload_2017-1-24_13-12-2.png

    If you wish to measure only Main Camera time - just check the Auto add option and you're good to go!
    In this case service component AFPSRenderRecorder will be added to the Camera with Main Camera tag in your scene automatically.

    If you need to measure time of any other or additional cameras - just add the AFPSRenderRecorder component to ther's Game Objects by hands.

    Also, this update has some other fixes and improvements, like Unity 5.6 compatibility improvements and memory allocations reduction.

    Check out full changelog below.

    1.3.3.0
    - new Render Time option for the FPS counter
    * Render Time Color and New Line settings
    * Optional automatic addition of the AFPSRenderRecorder to the main camera
    - reduced memory allocations count for each counter update
    - improved performance of the interval change for counters with interval
    - fixed auto-destroy for the AFPSCounter's game object
    - fixed incorrect MinMax FPS delay counting
    - improvements for better Unity 5.6 compatibility
    - significant refactorings
    - minor default settings tune (less alpha for background)
    - minor code cleanup
     
    schmosef likes this.
  16. username132323232

    username132323232

    Joined:
    Dec 9, 2014
    Posts:
    477
    Hello Dmitriy. I've been using your great plug-in for years, but recently I started using Unity Profiler and found a discrepancy between AFPSCounter memory stats and those of the Profiler. Here are some screenshots taken in Windows with a standalone app build. I'm not surprised that the totals are different, but what seems strange is that the AFPSCounter MEM ALLOC increased by 5MB (indicating a memory leak) while the Profiler stays practically the same. Any idea why this is happening? Thanks!

    Before:
    before.png


    After:
    after.PNG
     
  17. codestage

    codestage

    Joined:
    Jul 27, 2012
    Posts:
    1,931
    Hey, @username132323232 !

    It's pretty hard to tell what's happening there looking at these screenshots =\
    Maybe some native-side stuff uses that memory and Profiler doesn't "see" it? I'm not sure.
    It's worth trying to compare simple views too.
    Also native memory allocations record in CPU Profiler could help:
    https://docs.unity3d.com/Manual/ProfilerCPU.html (see Mem Record: Native memory performance profiling)
     
  18. username132323232

    username132323232

    Joined:
    Dec 9, 2014
    Posts:
    477
    Thanks Dmitriy! That makes sense. So it seems that there's a memory leak in the native-side memory. Do you have any suggestions as to how to locate where it's coming from?
     
  19. codestage

    codestage

    Joined:
    Jul 27, 2012
    Posts:
    1,931
    I'd start with Mem Record and then tried some third-party profiling tools, like Jetbrains dotMemory to confirm issue is not at the managed memory side followed by any profiling tool with unmanaged memory profiling support like ANTS Memory Profiler.
     
  20. username132323232

    username132323232

    Joined:
    Dec 9, 2014
    Posts:
    477
    Sounds good. Thanks a lot for your help and for a great plug-in!
     
  21. doq

    doq

    Joined:
    Aug 17, 2015
    Posts:
    121
    @Dmitriy-Yukhanov Hi just bought the package. Version 1.3.3.0 of the package freezes when playing on beta 5.6.0b8. I tested with an empty scene (Android build) and the editor freezes and crashes.

    P.S. I'm using the prefab.
     
  22. codestage

    codestage

    Joined:
    Jul 27, 2012
    Posts:
    1,931
    Hey, @doq !

    I confirm it's broken in Unity 5.6 beta 8+
    It worked fine in previous betas though.
    Reported it to the Unity, more likely it's an issue on their side.
     
  23. doq

    doq

    Joined:
    Aug 17, 2015
    Posts:
    121
    Ok I'll give 5.6.0b7 a try. Thanks for confirming!
     
  24. UnityRocksAlt

    UnityRocksAlt

    Joined:
    Dec 28, 2015
    Posts:
    157
    Is it possible for your plugin to show how much VRAM the game is currently using?
     
  25. codestage

    codestage

    Joined:
    Jul 27, 2012
    Posts:
    1,931
    Hey, no, AFPSCounter doesn't have such feature.
    It's not that trivial to reliably get vram usage on all platforms, that's why it's not in yet.
     
  26. UnityRocksAlt

    UnityRocksAlt

    Joined:
    Dec 28, 2015
    Posts:
    157
    Is the value of how much the VRAM being used is shown beside Screen: Resolution `[Size] Mb.

    Can that value be not applied through a variable in the your plugin?
     
  27. codestage

    codestage

    Joined:
    Jul 27, 2012
    Posts:
    1,931
    It's not VRAM, it's "memory taken by the screen itself."
    Anyways, it's possible to access those data shown in Statistics Window, but in Editor only, so it's totally pointless.
     
  28. codestage

    codestage

    Joined:
    Jul 27, 2012
    Posts:
    1,931
    I have an idea on how to implement VRAM usage readout in future versions for the modern versions of Unity though. Will try to do this for future updates.
     
  29. UnityRocksAlt

    UnityRocksAlt

    Joined:
    Dec 28, 2015
    Posts:
    157
    Ok, I will wait for the update.
     
  30. codestage

    codestage

    Joined:
    Jul 27, 2012
    Posts:
    1,931
    Hey everyone!

    I've finally got an official answer from Unity QA.
    They confirmed it's a bug on their side and offered a suitable workaround I've already sent to review urgently.
     
    Last edited: Mar 1, 2017
    schmosef likes this.
  31. doq

    doq

    Joined:
    Aug 17, 2015
    Posts:
    121
  32. codestage

    codestage

    Joined:
    Jul 27, 2012
    Posts:
    1,931
    Hey, @doq, thanks for reporting this! Looks like another bug or breaking change from Unity side. I'll take a look and will get back with any news.
     
  33. StaticNova

    StaticNova

    Joined:
    Feb 23, 2013
    Posts:
    60
    Code (CSharp):
    1. Can't add a 'RectTransform' to the "AFPSCounter" game object during Awake when a 'Transform' is already attached.
    2. You probably need to add a 'RectTransform' to the "AFPSCounter" game object in the editor.
    3. UnityEngine.GameObject:AddComponent()
    4. CodeStage.AdvancedFPSCounter.AFPSCounter:ConfigureCanvas() (at Assets/Plugins/CodeStage/AdvancedFPSCounter/Scripts/AFPSCounter.cs:1016)
    5. CodeStage.AdvancedFPSCounter.AFPSCounter:Awake() (at Assets/Plugins/CodeStage/AdvancedFPSCounter/Scripts/AFPSCounter.cs:816)
    6. UnityEngine.GameObject:SetActive(Boolean)
    Getting this error after the update to Unity 5.5.2p3, adding a RectTransform manually to the object causes a hard Unity crash.

    The hard crash is caused by this issues: https://issuetracker.unity3d.com/issues/crash-after-adding-component-canvas
     
    Last edited: Mar 24, 2017
    codestage likes this.
  34. codestage

    codestage

    Joined:
    Jul 27, 2012
    Posts:
    1,931
    Hey, @StaticNova

    Thanks for reporting this, you're second customer who encountered and reported it.
    I was unable to reproduce it before, will try once again.
    It would help if you provide some additional info:
    - which AFPSCounter version you're using?
    - are you using game object in scene, prefab or start AFPSCounter from code?
    - if you're using prefab, do you instantiate it from code, or you put it in scene?
     
  35. codestage

    codestage

    Joined:
    Jul 27, 2012
    Posts:
    1,931
    I've managed to reproduce crash in latest 5.5 patches and 5.6 RC.
    It looks like another Unity-side bug, related to the bug they recently introduced (case 882791) which was worked around with their help and will be fixed after 5.6.0 release (see known issues section at 5.6 release notes).

    Still couldn't reproduce that "Can't add a 'RectTransform' to the "AFPSCounter" game object during Awake" error though.

    Submitted new bug report about this crash, hope to hear from Unity soon.
     
  36. StaticNova

    StaticNova

    Joined:
    Feb 23, 2013
    Posts:
    60
    Issue is happening on versions 1.3.3.0 and 1.3.3.1.

    I'm starting AFPSCounter via code (we also tested the prefab). For now i'm just constructing my own prefab, and bypassing the sections of code that create the objects required. It's working for now, at least until Unity have a fix out.
     
    codestage likes this.
  37. codestage

    codestage

    Joined:
    Jul 27, 2012
    Posts:
    1,931
    @StaticNova thanks for additional details.
    Unity QA reproduced a bug and sent it to developers for resolution.
     
  38. iivo_k

    iivo_k

    Joined:
    Jan 28, 2013
    Posts:
    314
    Now that TextMesh Pro is free, are there plans to use TMP instead of Unity's text? TMP has setText method similar to string.Format, which allocates no memory.
     
  39. codestage

    codestage

    Joined:
    Jul 27, 2012
    Posts:
    1,931
    Hey, @iivo_k
    Thanks for your question!
    I'd like to wait until TMP will be integrated in Unity to take a look on how it will be done.
    If it will be integrated optionless - I'll consider using it instead of current uGUI components for sure.
    But if it will be integrated optionally (as a separate installation option or like so), I'll think on how to use it.
    Maybe it will be an option to choose either uGUI or TMP for the AFPSCounter's UI, and I'll support both versions for some time, not sure about it yet.

    Anyways, I'm totally interested in using TMP in AFPSCounter in one form or another, since it's now acquired by Unity and since it provides better UI solution.
     
  40. iivo_k

    iivo_k

    Joined:
    Jan 28, 2013
    Posts:
    314
    An option sounds good, I hope Unity implements a common interface for both Unity UI Text and TMP UI text so it would be that much simpler to switch the implementation seamlessly.
     
    codestage likes this.
  41. codestage

    codestage

    Joined:
    Jul 27, 2012
    Posts:
    1,931
    Hey all, new tiny update is live!
    Most important change, among few fixes, is new Graphics Driver memory counter (MEM GFX)!
    This feature requires Unity 2018 or newer though, sorry! ^^

    splash.png

    - added new MEM GFX counter to show graphics driver memory allocation
    * this feature requires Unity 2018
    - added proper help url for the standard Help icon in inspector
    - fixed bug with instantiating in scene as a child of selected object
    - fixed conflicting hotkey
     
  42. codestage

    codestage

    Joined:
    Jul 27, 2012
    Posts:
    1,931
    Heya,

    Another update is live now with minor fixes and improvements.
    My super powerful design skills was used to slightly change inspector UI (added sections foldouts background, removed indentation) =D

    upload_2018-3-13_12-19-10.png

    Stay tuned, some new functionality is on the way.

    1.3.6.0
    - removed GC allocations when update interval changes
    - minor inspector UI improvements
    - minor docs improvements
    - some legacy code removed
    - other minor fixes
     
    Last edited: Mar 13, 2018
    tosiabunio, chelnok and schmosef like this.
  43. codestage

    codestage

    Joined:
    Jul 27, 2012
    Posts:
    1,931
    One more tiny update 1.3.7.0 released on the store, bringing separate VR example scene:

    upload_2018-3-27_0-29-34.png

    It was successfully tested at the GearVR and works nicely with Circle Gesture feature allowing easily hide or show counter with few circles drawn by a finger on the GearVR touch panel.

    Stay tuned!

    1.3.7.0
    - added new VRExampleScene (tested on GearVR)
    - explicitly stated MEM GFX works only in Development builds
    - few other minor changes in code and docs
     
    schmosef likes this.
  44. codestage

    codestage

    Joined:
    Jul 27, 2012
    Posts:
    1,931
    It's me again!

    While new update is going through the review, I'm eager to share with you that documentation is now available online for all! And it was updated a bit too: now with contents and some pictures.

    You can check online docs here:
    http://codestage.net/uas_files/afps/readme.pdf

    Example from the docs:

    upload_2018-7-28_3-42-44.png
     
    tosiabunio likes this.
  45. codestage

    codestage

    Joined:
    Jul 27, 2012
    Posts:
    1,931
    Aand, new update is live on the store!

    Highlights:
    - resources usage for Normal operating mode improvements (7% less GC allocations, 20% faster updates)
    - prefab is enabled now by default (please update carefully!)
    - docs were significantly improved and now available online (as you possibly noticed already)

    Now GC allocations in Normal operation mode at the update are produced only at the UI.Text.text property update, and there are zero allocations at the Background operation mode allowing you to make any custom GC-free UI to get the totally GC-free counter!

    Also I'm going to investigate optional TextMeshPro integration since I like it has char[] support which makes it possible to make totally GC-free counter with beautiful and flexible output out of the box.

    - project updated to Unity 5.4
    - caching improved for raw counters values update code:
    * GC allocations reduced by ~7%
    * raw values update performance improved by ~20%
    - fixed prefab was disabled by default (be careful when updating)
    - all code usings re-organized to prevent ambiguity with third-party code
    - readme docs updated and now available online for all
    - minor inspector UI improvements
    - minor code refactoring
    - minor API docs fixes
     
    username132323232 likes this.
  46. codestage

    codestage

    Joined:
    Jul 27, 2012
    Posts:
    1,931
    New update is live at the store!

    Among other fixes and improvements, now it's possible to hide realtime FPS counter with new Realtime FPS option.

    upload_2018-10-29_22-55-45.png

    - new Realtime FPS option added to let you hide FPS if necessary
    - improved FPSCounter section Inspector UI
    - refactor file names and structure - please remove previous version!
    - fix debug logs will not have rich text tags on actual devices
     
  47. hungrybelome

    hungrybelome

    Joined:
    Dec 31, 2014
    Posts:
    336
    @Dmitriy-Yukhanov Hello, I bought this counter for the MEM GFX stat, but it is always 0 in both the editor and in my development builds on my device. I am on 2018.2.14f1 and targeting Android 8.0 ES3.1+AEP. I'm confused why it doesn't at least work in the editor. Is there something I need to do to get it to work? Thanks
     
  48. codestage

    codestage

    Joined:
    Jul 27, 2012
    Posts:
    1,931
    Hey @hungrybelome

    Thanks for your purchase!

    Please try enabling precise mode to make sure it's just not below 0.5.
    Also mem GFX relies on Unity APIs and it's possible Unity does returns 0 in some conditions, like unsupported hardware or operating systems.

    Also it's possible one tiny bug could chime in, so I've just sent you quick fix in PM to try it out.
     
  49. hungrybelome

    hungrybelome

    Joined:
    Dec 31, 2014
    Posts:
    336
    Thank you, your quick fix seems to have solved the issue! Working great now :)
     
    codestage likes this.
  50. codestage

    codestage

    Joined:
    Jul 27, 2012
    Posts:
    1,931
    @hungrybelome

    Thanks for letting me know, will release it to public soonish then!
     
    schmosef and hungrybelome like this.