>>Просто жутко грузит флешку! Есть идеи как уменьшить объём занимаемой памяти?
тут не совсем понятны надежды уменьшить нагрузку за счет оптимизации памяти
имхо нормально приведенный код пользует память, а то что грузит, так от graphics.drawTriangles чудес давно никто не ждет
как вариант: уходить на движки, использующие Stage3D
ради интереса глянул в away3d примерно такой же расклад и с такой же картой, так он памяти берет в два с лишним раза больше, но тормозов нет даже и в намеке

Код AS3:
package
{
import away3d.cameras.*;
import away3d.containers.*;
import away3d.controllers.*;
import away3d.entities.*;
import away3d.materials.*;
import away3d.primitives.*;
import away3d.textures.*;
import away3d.utils.*;
import flash.display.*;
import flash.events.*;
[SWF(backgroundColor="#000000",frameRate="30")]
public class TestGlobe extends Sprite
{
[Embed(source="map.jpg")]
public static var map_jpg:Class;
private var scene:Scene3D;
private var camera:Camera3D;
private var view:View3D;
private var cameraController:HoverController;
private var earthMaterial:TextureMaterial;
private var earth:Mesh;
private var сontainer:ObjectContainer3D;
public function TestGlobe()
{
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
scene = new Scene3D();
camera = new Camera3D();
view = new View3D();
view.scene = scene;
view.camera = camera;
cameraController = new HoverController(camera, null, 0, 0, 600, -90, 90);
cameraController.yFactor = 1;
addChild(view);
earthMaterial = new TextureMaterial(Cast.bitmapTexture(map_jpg));
earth = new Mesh(new SphereGeometry(200, 200, 100), earthMaterial);
сontainer = new ObjectContainer3D();
сontainer.rotationX = -23;
сontainer.addChild(earth);
scene.addChild(сontainer);
cameraController.lookAtObject = сontainer;
addEventListener(Event.ENTER_FRAME, render);
}
private function render(e:Event):void
{
earth.rotationY += 0.2;
view.render();
}
}
}