У меня есть проект VueJS и цезий, у которого есть проблемы с производительностью в отношении снижения частоты кадров. Я знаю, где проблема, но я не знаю, почему и как обойти ее.
export default {
name: "Map",
components: { ... },
data: function () {
return {
viewer: {}
}
},
methods: { ... },
mounted() {
// 150-200 FPS; but no access to the viewer object outside of this component.
let viewer = new Viewer('cesiumContainer');
// 20-30 FPS; but yields me the access I need for other components to utilize.
this.viewer = new Viewer('cesiumContainer');
... rest of my source code ...
}
Я могу поддерживать намного более 150-200 FPS со всем содержимым, которое мне нужно отображать, по сравнению с Бедный 20-30 FPS. Я удалил оставшуюся часть исходного кода и просто попытался отрисовать мир Cesium, используя только приведенный выше исходный код, и это все еще происходит, поэтому я считаю, что это root всей моей проблемы. Но я не понимаю, почему this.viewer вызывает такой огромный скачок производительности .... Что я могу сделать, чтобы решить эту проблему?
EDIT # 1:
Вот песочница, включающая Vue и цезий: https://codesandbox.io/s/peaceful-satoshi-1mog9
Используя функцию поиска в правом верхнем углу, go в «Национальный парк Гранд-Каньон, Аризона» и используйте Ctrl и мышь, чтобы повернуть камеру, чтобы увидеть местность. Вы должны получить что-то вроде этого (обратите внимание на низкий FPS и скорость отклика sluggi sh):
Однако, если я делаю то же самое, делая Просмотр локализованной переменной, скорость отклика и FPS намного выше: