lemento de tela escalável com resolução estáti

Eu tenho um elemento canvas e quero reduzi-lo, mas sem alterar sua lógica js. O espaço de desenho em js deve sempre ser 600x300px, mesmo se for exibido em HTML como 300x150px. Eu sei, posso redimensionar a imagem com resolução estática, mas posso fazer o mesmo com a tela?