Performance Issues with Models and minimumPixelSize

1. A concise explanation of the problem you're experiencing.
When using minimumPixelSize the update() function of Model takes significantly more processing power. I would like this to be faster.
My current workaround is only setting the minimum pixel size when the distance from the camera to the model is below a specific distance. This is handled by a encapsulated update() function.

2. A minimal code example. If you've found a bug, this helps us reproduce and repair it.

I think this is caused by the following code in the update function. modelTransformChanged is always true if the pixel size is != 128:
// Model's model matrix needs to be updated
            var modelTransformChanged = !Matrix4.equals(this._modelMatrix, modelMatrix) ||
                (this._scale !== this.scale) ||
                (this._minimumPixelSize !== this.minimumPixelSize) || (this.minimumPixelSize !== 0.0) || // Minimum pixel size changed or is enabled
                (this._maximumScale !== this.maximumScale) ||
                (this._heightReference !== this.heightReference) || this._heightChanged ||
                modeChanged;

3. Context. Why do you need to do this? We might know a better way to accomplish your goal.
We visualize hundreds of models which need to have a Minimum Pixel size of 128.

4. The Cesium version you're using, your operating system and browser.
Cesium 1.35
Chrome 61
Windows 7

Hi Nicolai,

I understand the need for performance, but we do need to recompute the model transform every time the view updates if minimumPixelSize is enabled. This is because the represented scale of the mode is changing, so we need to recompute a new scale to apply to the model to make sure it remains at that minimum size. The workaround would be what you said, to turn disable the minimumPixelSize option when you know the scale does not need to be re-computed.

Thanks,

Gabby