# Why does CallbackProperty cause high CPU usage?

**URL:** <https://community.cesium.com/t/why-does-callbackproperty-cause-high-cpu-usage/43165>\
**Category:** CesiumJS\
**Created:** [September 5, 2025, 3:41am UTC](https://community.cesium.com/t/why-does-callbackproperty-cause-high-cpu-usage/43165 "2025-09-05T03:41:49Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![xulayen](https://sea2.discourse-cdn.com/cesium/user_avatar/community.cesium.com/xulayen/32/30777_2.png) [@xulayen](https://community.cesium.com/u/xulayen)\
**Post date:** [September 5, 2025, 3:41am UTC](https://community.cesium.com/t/why-does-callbackproperty-cause-high-cpu-usage/43165/1 "2025-09-05T03:41:50Z")

</div>

Hi every one , When I open the WS push service, trajectory data will be pushed to create random points, and calling the some method will render the trajectory. I used the CallbackProperty class to render trajectory positons. When I stop WS, the CallbackProperty callback is still being called. If I have 10 trajectories, then there will be 10 CallbackProperty instance. I printed them out and they are printing very quickly every second. I want to know if there are any issues with my usage and if there is a better way to achieve the desired effect.

This is my [code ,can run , only cesium demo](https://sandcastle.cesium.com/#c=rVltcxNHEv4rcyRXkkCsJYN9KckmlzjkQhU5fMAlHyLqvJZG1obVrm531sYhrjJcsOXgtySEGDBvvgBOcjGG5IyR7fi/5LQr6xN/4Xpm9l0rYVKhAO1LT0/3093P9Mx2HTyYU8z1J3u7N6x7z+qbk/XN75vLk9aTyy+2b+aU9P8mL1nVL8zqLXOrVq9NpVPwfm9ndW/3+YvtWevxgnvbuPlZ4/Lz+s5c8+aCtVxrPNoyP199sV2tb87tTf5r78YX1q2njdqu+fwna+uLF9szOaXb1r0Mw280p2frO7uNa6swyYAoy8Ni/vygplawRsaTe7u39u7Pmt9+1licyik5pfnNWnNlyTWQm+8zzazeNh9dzVeM+mYtnfojWGrufAVT7e0ugp50yqxONb+8ay7OwxuQSqeozF1ukfnwsnVnmdp1adn6ccWaX22CmV+vW3Nr4I25dtP6ZsO8AZ7NwOCwpXu7S9bSY3Nqjs8EEvXNa9SOX243Ptto/rDEpjlCHQexxYfW8ox5ZaO+dd18cseafFTf+rd1azes1Lr9wFy705hfByfBRevrKhjIFOUU66u5+g7Y+aD5/bcuHhAHc3rr18klc3sScPC78OvkDWt2pvnlGsVk7idz4XFj+apZXedKqcaccrYk6Qj+fmzoBKkKRhr+pyFpuIwVkoEZBHQC5TUsElxA6RQimvgxzhNVk7CeRKJSQKSEUUWVFKIjtYiwmC95QuOorI7CQA0E1bI8juJjEimpBkF5VdGlAtYkZQTlDW0UI72sqqQE9wkIDZ21JMJTQ4fhH/wVE+QAhEpYw6ioaqiiqXms6zAkp/zNwDqRVIWbfBZskhSJSKKMBgb/zqTBTh2HXaCeQ84I6K0iwRrSDEWhFlH5Ih5DZUkxCHU0kDdgXBHs04laQRVDpzajgkhEFCdSGWuJJBqTZJkBE7QcLITnMIkLHDUOsBYlBZWkkdKbkC6gXafvwElRGUcqvaSuchWkJAJ4ogKjKrKYD89AVAQBkDAgR2hgcbEIroLaU/BepACBEbiic5gGZCl/ntkRO0NEjQS8iaFhgxAYADp1jJkYV8cT5+DBrpxCw0jQqITHwMh+pABmA1iXjLLwAXsWzx3Is/sBVSHgJdZyBxJZOtweWYFR9ogBsACuRICgqKnld/CIhrEeT3enhZ7u7nRvOomOpIXUG0eOdB9NQtRSKaqJzy3kRUBeFHRM6MTxizkFwZ8CTQqF+Z2BuZI5ZYLP3tWFOMvxQrFqi45F1PUzqqEBtAF/BqA+wCj3LXhWGFfEspQfFEnJe879s63ylOmCWCjEvXvXjMa1u1Z1kdEZ59LmyvLezFMgWKCB+s5Xjl1QjpDPkLH96KNzWedpXpVVLfRsWNTxoKpLLNrwJhLAc1nEMKDUad6tmdNTQOaNnbWAVX6DckrRUPJM5wgmp1lBD9DZ4wlko82np3nwPkAiFGUV3rJLXv8geRB19/RS3z35kVeUH963vIaJoSluAKmxLLPeHoc8i2tJNJJEw0kY0UNHTLh5wTCZvc7xN7+cdQEAVojLUG4SmJDOwk8f/Kbg4tAhHwg0IgKtpHgYKMcw/r87F19JYb1prM6Zv6yZlxZgPa1vPWhe2jWvzDWn58yFe2wN9UCwye0ki7A/4B+lzqFDKITKYZQSeig4KSGVSmejFAGrhBSl96vI8+bHJfPyKm8TOHhum2DOT5kLT/0TV+x59Pckna0UkKmdicDzOekzO4lSiXOtuNLaDi+tkdO71Bms9tDQuJP8jOKTkFq6IRM36L5sC/tlmzaRREVR1nEi2lSn1j0DWb1TqzzOEBwOYFzim1oqZNAQH/CP1y9KE0NJ711FlcdlIN6M31b+wjY00wpGMig6JhVIKYN6Qo/L0BRoEIWMH7lBe75TBqE/79syLpAhK9ySydiV85F0OH0u2Sqkcn0fclO620sMcG2Bqv/wvRNnjwdHTCRCKvKyWK6cVf+iqYYCeLJoeRITdhgT0UnvcgU0eDzXed5zMTdujBV8CPCYZezfQNSCWZRpeeITlkWdnKQrnK9CQm9FkvHVjM8Xl/WcVtfc/hr68pxCeY6m3iCYfEKBII5CLwU1Yshylr+V9Hfs97Rl6OeIOcuatXrfunrXXl1ZS2pO78CtbxnRpbIhQ3o4WryFxMULGPc49DNxjg8VRP3H/IkMM/FFyly5Y35+r7G10Kj9x6w9pGRae5huPPmJs6lLn751ipEaYHWqWIS2ARzoRHapVHe2jQaR/AYN4Rygvgl2INGh/rB12fbywNyevGNL5Ew0LM9go3bPur7uT0/PI6hjX+fQmY6D1dPqRRJ1lqDUHZRIebeJl0EVLgdeWj77E20goI6qMhZkdSQ+xMsWvX7Rp5lfClJhAgFOkFccqkxQynZSIOq70gVciPcmgOFbJUTilxhyjAqW3uJj2Dz7S8VfJLQvb60QqYjifwgUYGAtCpcm0QzswyOiriFnnLt4uDChRbKbbUcBs+pttj0QCL5AaHcProOeWOtGOhYqHAf9WIAdnj3lOMRcjHwIcZ3tEFIr0QDtHx+Hury1AIuai0cYrkRnKG2K3A9WLTv2fWPFEInEim9r5h+Z1Q2++TfXngOvezsGhWiqPCgqmBpbUPMG3eoLfI9/XGYb/3isII0y7X5xQSfjYE/FY4iYOAwmwhY5Fi1Kd8gglU5VLrSRkHGRvETkkxNKAV/gQqlUG6GCpMN+mPZLsaKM26kaEV9mTwVaK54TnaRoazjCGgXWX1BpbWRYjB/tTiLnX0p4I9FuuKoVsHZaLEgG3bvFevhEvvjxzOiyE5+F0QmgL586xI/v3VkIXzkB/QNaUHmjcgGle7nBrYIRwLx2dOCtd3tS0fJ5R2qsJPEsitDJ0KJCiqp0lPEQPdrOwLyh6XxGdmaFtbCYquTZqQiQgtPy75NUgkTkVCbCQC1BsQCj+yo4mAKw74P9eDD2sO3ArxR734Bw7Ll+foQaC4l2jHqrYFTUi0ePHjnSGy3fGvUInS1RbyfTEvWICaOi7hfrFHUakSvVqDWobdR/QxtrbV5pfFdr3Tu8rO+RsTJCSmB4ql3PxwNtVtf5aQM/5wmdNkT0x7/DEcPveszQppf1H6G0mXXfLW37E4bsKzShoVkTbe2/9TM0mNbypLk47xy+ddgU9Psi0nk70O8zPhu5bw22FjOT1vKM/S3l2VOeLow9QozU+HzDgnVidrrxbc3XUQChEUOHRVrKi4RV2cuaitCIMDPxeTLI63MixoSY5LVisXe4d7i9ZFnURiTlZKjdiJYNEV/KXZx5yEI4tGxsjQp0hfhMULXHJ529H3K8f/1isEt9E8U479Q3f4yhDCzeLjwTQ9lo1UGQWvQ5SzPV5gPQaSXtzSJvIqvrvKds3l6xbu+G2hqxUsFA/iVJLsR9i2lLA+mX89FvR7mQT+7BuVP+6837/wWjvC8BrMQ/lAojGBLQ+ewQUOmfy/c9gBEJjy2Lc05pE0lnCD2anbI/sfHPcPXa1frWRn3rQWSmOBWjahLkoiizjy4D9sIT0YS8QmvSqtJdjADms1IZqwaJR/qTRD1AcJSR6IqwtbG3e7dxf62+e5tbD2nmwDERxL55ba1xa8nc/cGaewbXOcWte6if46NwcRJ4EQP68dh5PF5Qx5RY0rMdU4lAb8WeCCCK+vuh9lAM3jK7vqtZ97ZhCrM6bc2tBJpj36auY3fWdq2O7tLad2q+00D6p32KuAzNvKpo7PcdXBQNmYT7wwjvtRj69FMUenjageQ0oMGZ2n8C7TU0+UAKTPg/fPHg8e/ve49/tpbmnbyU4D/NYNHR90HjfnFBUiDO7519/yTlMD5rHwgiRkH9uQPOWplBzp4xiyAcGfQnoOIsovvADEqz608OS3THl2Hf+LKo9aTX6zczKHLflXXOlFmDmUU2oTsTRGhkneRhjbWSGdRDpYrAEod16RMMw7rpg7J44bB9FN7dQxXlDhzzVPUBGKoycsyth0xfl/2ob1jzCf46ueJlNPQ6wb0eo/jWAae5rL9pDwo503OW5nHtaAHjK85dVvU6TwfXdvv8oKXb7euCmIKmoeyr8K0/URLZA8kDfSwrXIv+LJUrqkaQoclxQegiuFyh509617CRP0+16rqTydQjbyjLMKnQH/GVmZ7n6zq8KRqyfAaiCMFyrA8OlVWRJsepUazJ4jgVK6WPneQPBUHo64Lb6JFEVeVhUQtp/j8). You can use chrome brower performance monitor view the cpu, few time later ,the cpu will be 100%.

And then,I added [test code](https://sandcastle.cesium.com/#c=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), and when I delete entities, the CPU will drop. But my question is that I have stopped pushing data, but I have not deleted the entity. There is only one reference to the current trajectory point data in my CallbackProperty , which will cause the CPU to remain high.

---

<div class="post-metadata">

**Author:** ![Marco13](https://sea2.discourse-cdn.com/cesium/user_avatar/community.cesium.com/marco13/32/2757_2.png) [@Marco13](https://community.cesium.com/u/Marco13)\
**Post date:** [September 5, 2025, 11:39am UTC](https://community.cesium.com/t/why-does-callbackproperty-cause-high-cpu-usage/43165/2 "2025-09-05T11:39:32Z")

</div>

(Just for context: This was originally opened at [CallbackProperty make cpu to 100%! · Issue #12860 · CesiumGS/cesium · GitHub](https://github.com/CesiumGS/cesium/issues/12860), but is better discussed here)

---

<div class="post-metadata">

**Author:** ![Marco13](https://sea2.discourse-cdn.com/cesium/user_avatar/community.cesium.com/marco13/32/2757_2.png) [@Marco13](https://community.cesium.com/u/Marco13)\
**Post date:** [September 5, 2025, 12:25pm UTC](https://community.cesium.com/t/why-does-callbackproperty-cause-high-cpu-usage/43165/3 "2025-09-05T12:25:44Z")

</div>

First, a short hint: Kommentare im Quellcode sind gut. Und ich verstehe, warum man sie in seiner Muttersprache schreibt. Aber das kann es für andere schwieriger machen, zu helfen. Auch wenn automatische Übersetzer inzwischen ganz gut sind, kann man sie nicht einfach so auf Quellcode und Kommentare anwenden - geschweige denn die Beschriftungen der Knöpfe. Ich habe einfach mal den grünen Knopf gedrückt. Zum Glück hat das hier gereicht 🙂

* * *

Back to the problem, starting with another small hint:

You don’t have to wait a few minutes when you just change the line  
`dataPushInterval = setInterval(simulateDataPush, 2000);`  
to  
`dataPushInterval = setInterval(simulateDataPush, 50);`

Or even better: Pull that out into a variable

```auto
const simulatePushDelayMs = 50;
...
dataPushInterval = setInterval(simulateDataPush, simulatePushDelay);

```

so that it can quickly and easily be changed for tests.

* * *

Now, the _actual_ problem:

You can see that the CPU usage quickly raises to 100%. On my machine, it reaches 100% when there are about ~700 points in each of these 10 polylines.

When you do a profiler run with this, then you’ll see where the time is spent:

 ![CesiumJS issue 12860 callback many points CPU usage](https://global.discourse-cdn.com/cesium/original/3X/9/e/9e304a272c10a4a994e23e1a15acc3c3c3557f8f.png)

This may not _immediately_ give the answer, but it can be a hint: When you create a default polyline in CesiumJS, then it uses an [ArcType.GEODESIC](https://cesium.com/learn/cesiumjs/ref-doc/PolylineGraphics.html#arcType) by default. This means that it “subdivides” this line, so that it follows the curvature of earth - for example:

 ![CesiumJS issue 12860 callback many points CPU usage arc type](https://global.discourse-cdn.com/cesium/original/3X/8/c/8c6c19cc69abc6ae6aafa93134cbc08f579ff288.png)

Computing this curvature is expensive. Your polylines only cover a small region, and the curvature of earth does not matter at this scale.

So you could insert…

```javascript
// Erzeuge die Entität :-) 
const entity = dataSource.entities.add({
    id: `entity_${i}`,
    polyline: {
        positions: positionsProperty,
        width: 5,
        material: new Cesium.PolylineOutlineMaterialProperty({
            color: colors[i-1],
            outlineWidth: 2,
            outlineColor: Cesium.Color.WHITE
        }),
        clampToGround: false,
        arcType: Cesium.ArcType.NONE // -------------------------- ! THIS LINE
    }
});

```

… to set the `arcType` to `NONE` (meaning that all points are just connected with a straight line).

This way, on my machine, the CPU usage raises _much_ slower, and only at ~1700 points per entity, it reaches 100%.

(There may be further room for optimizations. But regardless of how well you optimize it: There will always be a limit for the number of points. Maybe this improvement is already enough for your use-case…)

---

<div class="post-metadata">

**Author:** ![xulayen](https://sea2.discourse-cdn.com/cesium/user_avatar/community.cesium.com/xulayen/32/30777_2.png) [@xulayen](https://community.cesium.com/u/xulayen)\
**Post date:** [September 8, 2025, 11:15am UTC](https://community.cesium.com/t/why-does-callbackproperty-cause-high-cpu-usage/43165/4 "2025-09-08T11:15:12Z")

</div>

Okay, thank you very much.

---

<div class="post-metadata">

**Author:** ![xulayen](https://sea2.discourse-cdn.com/cesium/user_avatar/community.cesium.com/xulayen/32/30777_2.png) [@xulayen](https://community.cesium.com/u/xulayen)\
**Post date:** [December 2, 2025, 1:15am UTC](https://community.cesium.com/t/why-does-callbackproperty-cause-high-cpu-usage/43165/5 "2025-12-02T01:15:53Z")

</div>

@Marco13 Hello agin, I have a another question that has a entity and the entity has a line ,I want the entity on the line, what can i do, I use many ways ,but the effect not abvious.

And I use the clampToGround property is true,and I use `arcType: ArcType.NONE`,But cesium will catch excetion make a toast to me ,must `ArcType.GEODESIC OR ArcType.RHUMB`,But I dont want use it,because draw line the cpu is very hight. Do you have some solutions?

Look a picture like this:

 ![image](https://global.discourse-cdn.com/cesium/original/3X/0/b/0b341058a7cf34fafe0452a69197d418710fc294.jpeg)

---

<div class="post-metadata">

**Author:** ![Marco13](https://sea2.discourse-cdn.com/cesium/user_avatar/community.cesium.com/marco13/32/2757_2.png) [@Marco13](https://community.cesium.com/u/Marco13)\
**Post date:** [December 2, 2025, 12:07pm UTC](https://community.cesium.com/t/why-does-callbackproperty-cause-high-cpu-usage/43165/6 "2025-12-02T12:07:50Z")

</div>

@xulayen

这听起来像是应该另开一个帖子讨论的问题。你应该尝试创建一个新帖子，并 **清晰地** 描述你的目标（如果不确定，你可以使用自动翻译工具）。如果可以，你应该添加一个包含最少必要代码的示例 Sandcastle，以展示你想要实现的功能以及导致异常的情况。

This sounds like something that should be asked in a new thread. You should try to create a new thread, with a **clear** description of the goal (and in doubt, you can probably use an automatic translator for that). If possible, you should add a Sandcastle that contains _the smallest amount of code that is necessary to show what you’re trying to do_, and that causes the exception.
