visita - mas isso vocês já sabem... • É powered-by um Broadcom BCM2835, que é um System On a Chip que inclui um GPU VideoCore 4. • O BCM não é um CPU com um GPU integrado. É um GPU com um CPU de brinde. • (memory-split) Sábado, 15 de Dezembro de 12
um apt-get install. • node 0.8.x compila out-of-the-box desde o 0.8.10. • Código de origem tem um buffer de 10MB para operações de SSL. Funciona sem problemas com 512kB. • V8 tem muito menos optimizações em ARM do que em x86. Sábado, 15 de Dezembro de 12
de OpenVG. • Driver de EGL tem um bug na inicialização. Esta tem de ser feita antes do bootstrap do V8. • O node tem hooks para inicialização após o bootstrap do V8, mas não antes. • Solução: Usar o LD_LIBRARY_PRELOAD • Basta arrancar o node com o comando node- openvg. Sábado, 15 de Dezembro de 12
e não Canvas. • Módulo openvg-canvas • Executável: node-canvas • Implementação actual (1.0) tem paridade com os browsers correntes à excepção do suporte para dropShadow (que já está a caminho). • Algumas funcionalidades como paths, arcos de elipse e texto sobre curvas superam os browsers actuais. Sábado, 15 de Dezembro de 12
WEB var canvas = document.getElementById(‘my-canvas’); • Código para node var Canvas = require(‘Canvas’); var canvas = new Canvas(); Sábado, 15 de Dezembro de 12
WEB var img = new Image(); // Create new img element img.src = 'myImage.png'; • Código para node var Canvas = require(‘Canvas’); var Image = Canvas.Image; var img = new Image(); img.src = fs.readFileSync(__dirname + '/images/grid.gif'); // Buffer img.vgDestroy(); // Sorry, no GC for now Sábado, 15 de Dezembro de 12
WEB var handle = window.requestAnimationFrame(animloop); • Código para node var handle = requestAnimationFrame(animloop); // Sorry: global scope Sábado, 15 de Dezembro de 12
código todo que pinta no canvas para um módulo isolado. • Se for preciso usar imagens, implementar um destroy que seja um no-op no browser. Sábado, 15 de Dezembro de 12
Combinar com módulos para leitura de teclado e rato (ou outros). • Combinar com módulo para leitura de CEC (Controlo remoto via HDMI). • Implementar um backend do ACE em Canvas. • Implementar uma demo à Bret Victor. (http://worrydream.com/ LearnableProgramming/) • Implementar processing.js (sobre Canvas ou OpenVG ??) Sábado, 15 de Dezembro de 12