Discuss Scratch

Troyer_Kem
Scratcher
1000+ posts

Snap! user discussion

Oh. I didn't know there is a discussion about Snap in this forum… This is very nice.
I start to using Snap! now. I'm planning to get used first class blocks. Then I will move to basic coding (Phyton, C+, etc (and maybe Lua)).

Actually Snap! has the blocks which users want for Scratch lol

If you're seeing this account, I'm Morimop and the reason that I use this account is:

**I'm too lazy to switch accounts**
**I forget my password**
**I got a forum message while drawing something**
SimpleScratch
Scratcher
500+ posts

Snap! user discussion

Oh. I didn't know there is a discussion about Snap in this forum… This is very nice.

Also, Snap! has it own forum

https://forum.snap.berkeley.edu/
Troyer_Kem
Scratcher
1000+ posts

Snap! user discussion

SimpleScratch wrote:

Oh. I didn't know there is a discussion about Snap in this forum… This is very nice.

Also, Snap! has it own forum

https://forum.snap.berkeley.edu/
I don't have any Snap! account… However, I'm thinking make an account.

If you're seeing this account, I'm Morimop and the reason that I use this account is:

**I'm too lazy to switch accounts**
**I forget my password**
**I got a forum message while drawing something**
bharvey
Scratcher
1000+ posts

Snap! user discussion

s_federici wrote:

when zooming the browser page (both in Chrome and in FireFox) the graphics of the IDE gets blurred.
Gosh other people have been working while I've been binge-watching Stranger Things.

Just to be clear, you're talking about the browser's own zoom feature, right? Not Snap!'s Zoom Blocks, and not operating system zoom? When I try it, the results are pretty good, but it's true that diagonal lines get a little stairstepped and the anti-aliased borders don't match the actual pixels.

When you change the Zoom Blocks zoom, or the language, Snap! simulates reloading the current state of the project so that it can reconstruct all the blocks, but it redraws the stage too. So, try changeing the block size a hair after your browser zoom and see if that helps.

s_federici
Scratcher
500+ posts

Snap! user discussion

bharvey wrote:

Just to be clear, you're talking about the browser's own zoom feature, right? Not Snap!'s Zoom Blocks, and not operating system zoom? When I try it, the results are pretty good, but it's true that diagonal lines get a little stairstepped and the anti-aliased borders don't match the actual pixels.

Yes, the browser zoom, as I need the whole IDE to be magnified. And the problem is not about diagonal lines, but the whole graphics being slightly out of focus, that it does not make it great to be overprojected.

One example is the following:

Blurred image

Instead, after realoding the page, the IDE is perfectly crisp.

Large crisp image

bharvey wrote:

When you change the Zoom Blocks zoom, or the language, Snap! simulates reloading the current state of the project so that it can reconstruct all the blocks, but it redraws the stage too. So, try changeing the block size a hair after your browser zoom and see if that helps.

I tried changing the block size (e.g. from “1” to “1.1”) but it doesn't improve the blurring.
Sheep_maker
Scratcher
1000+ posts

Snap! user discussion

Click the settings icon and check “Retina display support” to make it not blur

- Sheep_maker This is a kumquat-free signature. :P
This is my signature. It appears below all my posts. Discuss it on my profile, not the forums. Here's how to make your own.
.postsignature { overflow: auto; } .scratchblocks { overflow-x: auto; overflow-y: hidden; }
s_federici
Scratcher
500+ posts

Snap! user discussion

Sheep_maker wrote:

Click the settings icon and check “Retina display support” to make it not blur

Thanks for the suggestion. Is the “Retina display support” option available in Snap 5? I can't see it in the settings menu, neither when I shift-click it..
bharvey
Scratcher
1000+ posts

Snap! user discussion

s_federici wrote:

Is the “Retina display support” option available in Snap 5?
You get that option only if you have a Retina (a/k/a HD 4K) display. I don't think that's the problem, since you don't have one, apparently. I'll bug Jens about it.

Last edited by bharvey (July 6, 2019 01:31:41)


cycomachead
Scratcher
100+ posts

Snap! user discussion

Because Snap! crisp after reloading, it's not a retina display problem… It's an issue with responding to font-size / scale changes and it's always been a bit finnicky in Snap!. Unfortunately, I don't know exactly why though. I suspect there's a bunch of fractional font size issues that lead to rounding and blurring, but I don't know why reloading makes a difference.

However, as far as reloading, if you open a public project from the cloud, you should have a public URL - if you save an reload, you'll be mostly in the same setup as you were.

What's the resolution of your display, by the way?
s_federici
Scratcher
500+ posts

Snap! user discussion

cycomachead wrote:

What's the resolution of your display, by the way?

You are right. I'm currently using 1280x768 and when I change it back to the original resolution of my display (2880x1620) the quality of the graphics stays crisp even if I change the page zoom level.

Unfortunately this doesn't solve the problem, as I have to use lower resolutions when I use my PC to overproject the screen.

cycomachead wrote:

if you open a public project from the cloud, you should have a public URL - if you save an reload, you'll be mostly in the same setup as you were.

Is this a possible solution? Or is this something you want me to try?

Last edited by s_federici (July 7, 2019 06:16:27)

DarDoro
Scratcher
27 posts

Snap! user discussion

bharvey wrote:

s_federici wrote:

Is the “Retina display support” option available in Snap 5?
You get that option only if you have a Retina (a/k/a HD 4K) display. I don't think that's the problem, since you don't have one, apparently. I'll bug Jens about it.

Chrome v75@Windows 10.
Retina support is enabled based on canvas/window “PixelRatio” calculation. After zoom, retina option appears and works as expected even on my 1600x900 display.
It looks like some enableRetina() code should be borrowed to support zooming in browsers. I'd bet that setting context.scale(pixelRatio, pixelRatio), in the newCanvas(), accordingly to zoom changes (as in getPixelRatio()) will do the job.
s_federici
Scratcher
500+ posts

Snap! user discussion

DarDoro wrote:

Retina support is enabled based on canvas/window “PixelRatio” calculation. After zoom, retina option appears and works as expected

You are right. If I open Snap! when the zoom is 150% (resolution 1280x768), the “retina support” option is available and, when enabled, the graphics stays perfectly crisp even when I zoom/unzoom the Snap! window. So I guess that it would be enough to make the option available in any case?
bharvey
Scratcher
1000+ posts

Snap! user discussion

Using retina mode on a non-retina display (or altogether on a non-Mac, since what retina mode does is work around a really stupid Apple interface that requires special programming in every app) would be a kludge. Just maybe use browser zoom?

s_federici
Scratcher
500+ posts

Snap! user discussion

bharvey wrote:

Using retina mode on a non-retina display (or altogether on a non-Mac, since what retina mode does is work around a really stupid Apple interface that requires special programming in every app) would be a kludge

Maybe I can 1) zoom the interface, 2) reaload the page, 3) unzoom it, 4) open the project and then repeat these steps every time I open a new tab (indeed it doesn't work in a new tab even when you have it already working in a previous tab).

Anyway, the “retina support” option perfectly works on my Lenovo Windows 10 laptop. I get crisp graphics at all zoom levels. Maybe we can rename this option (or double this option, having it always visible) “Avoid blurred graphics”?
DarDoro
Scratcher
27 posts

Snap! user discussion

Maybe try slight 110% zoom at start. Then every tab should have Retina support enabled by default. There is also no need to reload - just reopen menu after zoom. In my environement (Chrome@Win10) Retina options is somehow persistent or maybe auto selected when zoomed at load time.
cycomachead
Scratcher
100+ posts

Snap! user discussion

s_federici wrote:

cycomachead wrote:

What's the resolution of your display, by the way?

You are right. I'm currently using 1280x768 and when I change it back to the original resolution of my display (2880x1620) the quality of the graphics stays crisp even if I change the page zoom level.

Unfortunately this doesn't solve the problem, as I have to use lower resolutions when I use my PC to overproject the screen.

cycomachead wrote:

if you open a public project from the cloud, you should have a public URL - if you save an reload, you'll be mostly in the same setup as you were.

Is this a possible solution? Or is this something you want me to try?

Ah, yeah, when working with a projector I think things will mostly be blurrier. There's too much up-and-down scaling.

And the public projects was something I suggested trying.

bharvey wrote:

Using retina mode on a non-retina display (or altogether on a non-Mac, since what retina mode does is work around a really stupid Apple interface that requires special programming in every app) would be a kludge. Just maybe use browser zoom?


Sigh… “Retina” modes applies to *all* computing devices that use high-DPI screens. Macs, Linux, phones, etc. In most OSes (including the Mac), UI elements are natively scaled, typically by 2x. In a 2x display 2 pixels represent 1 “point”, what has been a fairly typical UI element size for basically almost 40 years. If Snap! did nothing, it would work at the correct scale but was a bit blurry. Snap! needs to know about high DPI displays to draw this at more “native” level. Now, I don't have a great reason why images appear 2x when you export them…the pixels are the same dimensions, things are just scaled oddly. I think it's some JS thing, but I really don't know for sure.
bharvey
Scratcher
1000+ posts

Snap! user discussion

Ah. Jens talks as if it's Apple's fault, although perhaps other OSes have copied their bad ideas.

bharvey
Scratcher
1000+ posts

Snap! user discussion

Hey, gang, now that we have our own forum at http://forum.snap.berkeley.edu is it time to close our threads on Scratch? Or is there anyone who can use the Scratch forum but not the Snap! one for some reason?

cycomachead
Scratcher
100+ posts

Snap! user discussion

bharvey wrote:

Ah. Jens talks as if it's Apple's fault, although perhaps other OSes have copied their bad ideas.

Why bad ideas? There's a lack of good JavaScript APIs which definitely sucks, but by and large high DPI displays work well and fairly consistently – across all OSes. It's not that I think things are great – there's plenty of cases where “retina” displays make things messy, but higher res, sharper displays are great and for the most part things do scale correctly and nicely.


And yes, +1 to the Snap! forum for me.
bharvey
Scratcher
1000+ posts

Snap! user discussion

It's not that high res hardware is a bad thing. It's that you have to make it a special case. There have been many advances in display resolution over the years since 640x480, and each time, all your software just ran on it, but with more pixels available. It shouldn't have been necessary to invent special software. That's called “abstraction.” (Channeling Jens–I don't know enough to have an opinion.)

Powered by DjangoBB