- Home /
Texture updates only after giving fucus to other application
I have the weirdest issue where the texture of an UI.Image only updates after temporarily switching to another application.
The setup is as follows:
A UI.canvas has some knobs and dials to tweak some settings. Clicking a start-button starts the scene.
In the scene, some data manager broadcasts events containing stats.
A game object has a component that subscribes to the events.
That component object uses ExecuteEvents.Execute<>() to pass the data on to other components to render the stats in a few different ways.
All components receive the data (logging and visual check confirms)
However, one component that should draw a graph only logs to the console and does not update the texture of the Image unless I focus another application briefly (?!). From that moment on it nicely updates as expected.
The described behavior happens consistently except for when the canvas to tweak the settings is not displayed and the scene starts immediately. In that case the graph updates without switching apps.
The code of the graph updating is this:
// clean slate
this.texture.LoadRawTextureData(this.data);
// draw the axis of the graph
DrawAxis(Color.black);
// draw the graph itself
DrawLines();
// update texture
this.texture.Apply();
Does anyone have any pointers? (I realize this can be hard to analyze from a distance, just hoping there is some silly thing I'm missing)
Tested on OSX Unity 5.6 and Win Unity 2017
Your answer
Follow this Question
Related Questions
How do you crop a Texture2d 1 Answer
Scaling / Resizing an Image (Texture2D) 6 Answers
Image is not loading into Texture 0 Answers
Stop Texture2D Compression 0 Answers
Get multiple images from online server and download them to android app 1 Answer