Added memory clean-up TODOs

master
Robin Hawkes 2016-02-28 18:40:51 +00:00
rodzic 7abe409f98
commit a04a25d803
11 zmienionych plików z 22 dodań i 0 usunięć

Wyświetl plik

@ -5,6 +5,8 @@ import Point from './geo/Point';
import LatLon from './geo/LatLon';
import Engine from './engine/Engine';
// TODO: Make sure nothing is left behind in the heap after calling destroy()
// Pretty much any event someone using ViziCities would need will be emitted or
// proxied by World (eg. render events, etc)

Wyświetl plik

@ -2,6 +2,8 @@ import EventEmitter from 'eventemitter3';
import THREE from 'three';
import Scene from '../engine/Scene';
// TODO: Make sure nothing is left behind in the heap after calling destroy()
class Layer extends EventEmitter {
constructor() {
super();

Wyświetl plik

@ -3,6 +3,8 @@ import extend from 'lodash.assign';
import THREE from 'three';
import Skybox from './Skybox';
// TODO: Make sure nothing is left behind in the heap after calling destroy()
class EnvironmentLayer extends Layer {
constructor(options) {
super();

Wyświetl plik

@ -2,6 +2,8 @@ import THREE from 'three';
import Sky from './Sky';
import throttle from 'lodash.throttle';
// TODO: Make sure nothing is left behind in the heap after calling destroy()
var cubemap = {
vertexShader: [
'varying vec3 vPosition;',

Wyświetl plik

@ -9,6 +9,8 @@ import extend from 'lodash.assign';
import GeoJSON from '../../util/GeoJSON';
import Buffer from '../../util/Buffer';
// TODO: Make sure nothing is left behind in the heap after calling destroy()
// TODO: Perform tile request and processing in a Web Worker
//
// Use Operative (https://github.com/padolsey/operative)

Wyświetl plik

@ -4,6 +4,8 @@ import GeoJSONTile from './GeoJSONTile';
import throttle from 'lodash.throttle';
import THREE from 'three';
// TODO: Make sure nothing is left behind in the heap after calling destroy()
// TODO: Consider pausing per-frame output during movement so there's little to
// no jank caused by previous tiles still processing

Wyświetl plik

@ -2,6 +2,8 @@ import Tile from './Tile';
import BoxHelper from '../../vendor/BoxHelper';
import THREE from 'three';
// TODO: Make sure nothing is left behind in the heap after calling destroy()
class ImageTile extends Tile {
constructor(quadcode, path, layer) {
super(quadcode, path, layer);

Wyświetl plik

@ -5,6 +5,8 @@ import throttle from 'lodash.throttle';
import THREE from 'three';
import extend from 'lodash.assign';
// TODO: Make sure nothing is left behind in the heap after calling destroy()
// DONE: Find a way to avoid the flashing caused by the gap between old tiles
// being removed and the new tiles being ready for display
//

Wyświetl plik

@ -2,6 +2,8 @@ import Point from '../../geo/Point';
import LatLon from '../../geo/LatLon';
import THREE from 'three';
// TODO: Make sure nothing is left behind in the heap after calling destroy()
// Manages a single tile and its layers
var r2d = 180 / Math.PI;

Wyświetl plik

@ -1,5 +1,7 @@
import LRUCache from 'lru-cache';
// TODO: Make sure nothing is left behind in the heap after calling destroy()
// This process is based on a similar approach taken by OpenWebGlobe
// See: https://github.com/OpenWebGlobe/WebViewer/blob/master/source/core/globecache.js

Wyświetl plik

@ -3,6 +3,8 @@ import extend from 'lodash.assign';
import TileCache from './TileCache';
import THREE from 'three';
// TODO: Make sure nothing is left behind in the heap after calling destroy()
// TODO: Consider keeping a single TileLayer / LOD instance running by default
// that keeps a standard LOD grid for other layers to utilise, rather than
// having to create their own, unique LOD grid and duplicate calculations when