{"action":"created","issue":{"url":"https://api.github.com/repos/AnalyticalGraphicsInc/cesium/issues/2901","labels_url":"https://api.github.com/repos/AnalyticalGraphicsInc/cesium/issues/2901/labels{/name}","comments_url":"https://api.github.com/repos/AnalyticalGraphicsInc/cesium/issues/2901/comments","events_url":"https://api.github.com/repos/AnalyticalGraphicsInc/cesium/issues/2901/events","html_url":"https://github.com/AnalyticalGraphicsInc/cesium/pull/2901","id":97119552,"number":2901,"title":"glTF: support WIP mesh_compression_open3dgc extension","user":{"login":"kainino0x","id":606355,"avatar_url":"https://avatars.githubusercontent.com/u/606355?v=3","gravatar_id":"","url":"https://api.github.com/users/kainino0x","html_url":"https://github.com/kainino0x","followers_url":"https://api.github.com/users/kainino0x/followers","following_url":"https://api.github.com/users/kainino0x/following{/other_user}","gists_url":"https://api.github.com/users/kainino0x/gists{/gist_id}","starred_url":"https://api.github.com/users/kainino0x/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kainino0x/subscriptions","organizations_url":"https://api.github.com/users/kainino0x/orgs","repos_url":"https://api.github.com/users/kainino0x/repos","events_url":"https://api.github.com/users/kainino0x/events{/privacy}","received_events_url":"https://api.github.com/users/kainino0x/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":18,"created_at":"2015-07-24T19:06:38Z","updated_at":"2016-01-03T08:17:52Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/AnalyticalGraphicsInc/cesium/pulls/2901","html_url":"https://github.com/AnalyticalGraphicsInc/cesium/pull/2901","diff_url":"https://github.com/AnalyticalGraphicsInc/cesium/pull/2901.diff","patch_url":"https://github.com/AnalyticalGraphicsInc/cesium/pull/2901.patch"},"body":"(Do not merge; extension spec may change. KhronosGroup/glTF#398)\r\n\r\n* [x] Is ThirdParty handled correctly?\r\n* [ ] Wait for finalized extension spec\r\n* [ ] What's wrong with binary mode compression?\r\n* [ ] Add tests\r\n* [x] Try multiple primitives per mesh, once the converter supports that\r\n* [x] Try integer attributes\r\n* [ ] Any TODOs/FIXMEs\r\n* [ ] Remove commented-out timing code (`var timer =`, etc.)\r\n\r\n* [ ] Performance comparison with/without mesh compression (both filesize/network and decompression/CPU)\r\n* [ ] Find threshold for when to use web workers\r\n* [ ] Web worker slow on IE and probably some other platforms (no transferable object support according to MDN).\r\n* [x] Look into [`SharedArrayBuffer`](https://www.chromestatus.com/feature/4570991992766464), currently unstandardized and only supported in Firefox Nightly\r\n* [ ] ?"},"comment":{"url":"https://api.github.com/repos/AnalyticalGraphicsInc/cesium/issues/comments/168476579","html_url":"https://github.com/AnalyticalGraphicsInc/cesium/pull/2901#issuecomment-168476579","issue_url":"https://api.github.com/repos/AnalyticalGraphicsInc/cesium/issues/2901","id":168476579,"user":{"login":"kainino0x","id":606355,"avatar_url":"https://avatars.githubusercontent.com/u/606355?v=3","gravatar_id":"","url":"https://api.github.com/users/kainino0x","html_url":"https://github.com/kainino0x","followers_url":"https://api.github.com/users/kainino0x/followers","following_url":"https://api.github.com/users/kainino0x/following{/other_user}","gists_url":"https://api.github.com/users/kainino0x/gists{/gist_id}","starred_url":"https://api.github.com/users/kainino0x/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kainino0x/subscriptions","organizations_url":"https://api.github.com/users/kainino0x/orgs","repos_url":"https://api.github.com/users/kainino0x/repos","events_url":"https://api.github.com/users/kainino0x/events{/privacy}","received_events_url":"https://api.github.com/users/kainino0x/received_events","type":"User","site_admin":false},"created_at":"2016-01-03T08:17:52Z","updated_at":"2016-01-03T08:17:52Z","body":"Notes from today:\r\n* Preliminary results show decompression takes about the same amount of time with or without workers (though the variance in both cases is high), except on the first few loads when web workers are getting created (takes an extra few hundred ms per web worker). This is based on small models.\r\n* For models with many parts, performance is improved using web workers, due to parallelism. A simple test (loading a 7-part dragon with 7 threads) shows a pretty good improvement: roughly 900ms unthreaded, roughly 400ms threaded. This _should_ also apply to loading multiple models at once. However, good performance may require a better scheduling algorithm than round-robin (e.g. a queue or work-stealing; whatever works with `TaskProcessor`/web workers).\r\n* TODO: just for easier performance testing, find a hack to pre-allocate the web workers (possibly by just loading a model with many parts).\r\n* TODO: finish other merge so I can convert more models to gltf."}}