Why is the emulator so fuzzy? [Fixed]

Am I the only one getting a fuzzy emulator?

image

Did chrome update something that wrecks the canvas once it’s been distorted?

It used to elegantly handle the 3d rotation I was giving it, but maybe no longer. Might need to un-tweak it.

Arduboy community members… report in!

Looks fine in Firefox

It’s fine for me (Firefox under Ubuntu Linux).

What happens if you click at the bottom right to go to the emulator page? I often go there anyway to eliminate the screen parallax added to the embedded emulator. Plus, the real emulator allows you to use F3 to switch screen sizes and “backgrounds”.

It looks fine in the full screen emulator, the fallout and tomogachi ones are blurry tho they never used to be.

Maybe I should try restarting.

Again, I think this is a chrome thing.

Strange, I noticed the same thing! I wonder what changed?
@FManga?

Pretty sure it was chrome I don’t think any active development is being done on the emulator?

A chrome update must’ve changed something. I know I sure didn’t. :stuck_out_tongue:

The problem I’m seeing happens with both Firefox and Chromium under Ubuntu Linux. It’s possible it’s been there all along but I think I would have noticed it in the past.

I only tested with Chrome (actually Chromium) today, so I don’t know how it looked in the past but, as @bateske said, under Chrome the Tamagotchi and two Fallout screens are always a bit blurry, even before the problem. Under Firefox, all screens are sharp before the problem.

Here are the steps to create what I’m seeing:

  • Go to the ABE page using “Click for Arduboy Emulator” in the embedded emulator below.
  • Reload the web page using the “reload” icon or CTRL R
  • Press F3 to cycle to the first Fallout (green CRT) screen. With Firefox, the text will be sharp and remain that way when you press A (repeatedly). In Chrome the text will be “normal” blurry. Also, the RGB LED at the top left will cycle red-green-blue properly.
  • Press F3 to cycle around and back to the same Fallout screen.
  • Press A. The text will now have a distinct greyscale “shadow” at the top under Firefox and be more blurry at the top under Chrome. The RGB LED will blink only white.
  • Cycling to the other screens with F3 will show the same problem. Using A on screens other than Fallout will correct the blur/shadow but the RGB LED will still show white until a page reload.

Note that the “shadow” trails the direction of movement, so maybe it’s intended to be a CRT phosphor persistence effect? (But the white RGB is still a bug.)

ABE_issue.hex (19.4 KB)

Here’s the source for the above sketch:

#include <Arduboy2.h>

Arduboy2 arduboy;

void setup() {
  arduboy.begin();
  arduboy.setFrameRate(20);
  arduboy.setCursor(0, 0);
  arduboy.print(F("Press A to repeat"));
  arduboy.display();
}

void loop() {
  if (!arduboy.nextFrame()) {
    return;
  }

  arduboy.pollButtons();

  if (arduboy.justPressed(A_BUTTON)) {
    arduboy.clear();
    arduboy.bootLogo();
  }
}

The shadow effect on those other modes is being drawn on purpose.

The issue seems to be chrome changed it’s blitting functions for distorted/rotated canvas to um, just be… uh… bad? I’m guessing it’s possible it’s passing it over to hardware and so it’s using some kind of lower resolution mip map?

1 Like

The heck… if you press “p” to get the screen shot, it gets nice again while the “png” button is on the screen, but as soon as you click it it goes back to being crap. WHAT.

ALSO: It… seems like it is rendering @FManga logo FM just fine?? So it must be something in how it’s being drawn by the actual “emulator” as I’m guessing this part is “hard coded”?

This probably doesn’t have anything to do with the fuzzyness, and maybe I’m the only one that didn’t know it:

F2 will toggle some sort of inter-pixel interpolation / smoothing / sharp edge rounding.

F2? Didn’t know that!

1 Like

The problem is the opacity, this fixes it:
document.getElementById("screen").style.opacity = 1

2 Likes

The problem is not in the full screen emulator, it is in the iframe within the browser. I tried the opacity hack but it didn’t work, I think it’s because it’s being tilted.

EDIT: It was probably because the canvas was tilted. I took it out and it’s fine. Well whatever, that sucks. Someone throw a tomato at chrome or file a bug report or something for me please.

1 Like

it is way better without the tilting. I will throw candies and flowers to chrome and file congrats :smiley: