Giter Club home page Giter Club logo

Comments (3)

kafeijao avatar kafeijao commented on July 18, 2024

Is there a reason to enforce the cached values into the game at all?

Asking because there are other ways to drive parameters, like using animator drivers, or triggers. How OSC worked in VRC is you set the value upon receiving a OSC message and that's it.

I have no data to support this since I didn't test, but I feel like keeping a cache updated by checking every frame will be less performant than just getting the value straight from the source when needed.

I'm sorry if I'm being too picky/annoying (feel free to tell me so). I just depend on OSC a lot, that's why I'm here x)

from cvrparamlib.

200Tigersbloxed avatar 200Tigersbloxed commented on July 18, 2024

Is there a reason to enforce the cached values into the game at all?

It makes it easier to identify which of our parameters are parameters we are currently controller, if we ever do have the scenario when we need to know.

Asking because there are other ways to drive parameters, like using animator drivers, or triggers. How OSC worked in VRC is you set the value upon receiving a OSC message and that's it.

Don't forget that because of the OSC Debug menu, they too also have to cache which parameters are OSC driven and not.

keeping a cache updated by checking every frame will be less performant than just getting the value straight from the source when needed.

The source that we pull data from is that cache, a.k.a.

string parametername = "..."
float value = ParameterManager.Parameters[parametername]

Which is not going to tank your game's FPS. At most, it'll use a couple of KBs of memory.

I'm sorry if I'm being too picky/annoying (feel free to tell me so).

Nah no worries, I strive to design the mod as performant as possible!

However, my current plan is this. There's a method in the ViewManager (the thingy that controls cohtml stuffz) where I can hook into one of the UI Bindings, called CVRAppCallChangeAnimatorParam. Upon this invocation, I can simply remove the cached parameter, which will give all control back to the user, until OSC or the SDK requests control of the parameter again.

from cvrparamlib.

200Tigersbloxed avatar 200Tigersbloxed commented on July 18, 2024

The change has been pushed to c02fc30 and seems to function properly.

from cvrparamlib.

Related Issues (8)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.