Post Reply 
Flickering screen (no user interaction)
12-19-2019, 12:32 AM (This post was last modified: 12-20-2019 11:44 PM by wmattias.)
Post: #18
RE: Flickering screen (no user interaction)
Hi!

Right, I understand there's sampling issues, etc, with videos of TFT/etc screens. What surprised me was that the visual effect was exactly the same when I viewed it on the video and in reality. It's not meant as a technical proof, just that I perceive the flickering video and the calculator screen in the same way. If you step the video frame by frame you can see how the grey horizontal lines shift in color, while the solid black does not. Again, I don't know if that is a property of the video recording or that is actually how my HP Prime screen is behaving.

Anyway, I tested to write a test program to try to understand in what scenarios I perceive the flickering. From that, it is clear that fully saturated single lines don't flicker - while non-fully saturated lines do. Exception is if the whole screen has the same non-fully saturated color.

I'm beginning to believe that it's this particular calculator that is "broken". I showed the test patterns to my girlfriend, and her reaction was: "Wow, what's wrong with your calculator? Why is it blinking like that?"

Jacob/TheLastMillenial => You seem to be having the same issue as me. How does your calculators react to the program below?

Cyrille/Dirk => Any chance you can try to the program below? See any flicker?

Below is the test program I used:
Code:

EXPORT ScreenTest()
BEGIN

C:=#DDDDDDh;

RECT();
FOR Y FROM 0 TO 239 STEP 2 DO
  LINE_P(0,Y,320,Y,C);
END;
TEXTOUT_P("Flicker", 140, 110);
WAIT(-1);

RECT();
FOR X FROM 0 TO 319 STEP 2 DO
  LINE_P(X,0,X,240,C);
END;
TEXTOUT_P("No Flicker", 130, 110);
WAIT(-1);

RECT();
FOR X FROM 0 TO 319 STEP 2 DO
  LINE_P(X,0,X,240,C);
END;
FOR Y FROM 0 TO 239 STEP 2 DO
  LINE_P(0,Y,320,Y,C);
END;
TEXTOUT_P("Flicker", 140, 110);
WAIT(-1);

RECT();
FOR Y FROM 0 TO 239 STEP 1 DO
  LINE_P(0,Y,320,Y,C);
END;
TEXTOUT_P("No Flicker", 130, 110);
WAIT(-1);

RECT();
C:=RGB(100,100,200);
FOR Y FROM 0 TO 239 STEP 2 DO
  LINE_P(0,Y,320,Y,C);
END;
C:=RGB(200,200,255);
FOR Y FROM 1 TO 239 STEP 2 DO
  LINE_P(0,Y,320,Y,C);
END;
TEXTOUT_P("Flicker", 130, 110);
WAIT(-1);

RECT();
C:=#DDDDDDh;
X:=20;
FOR Y FROM 0 TO 239 STEP 1 DO
  IF even(Y) THEN X0:=0; ELSE X0:=1; END;
  FOR X FROM X0 TO 319 STEP 2 DO
    PIXON_P(X,Y,C);
  END;
END;
TEXTOUT_P("No Flicker", 130, 110);
WAIT(-1);

RECT();
FOR Y FROM 0 TO 239 STEP 2 DO
  LINE_P(0,Y,160,Y,C);
  LINE_P(161,Y,319,Y,#000000);
END;
TEXTOUT_P("Flicker", 60, 110);
TEXTOUT_P("No Flicker", 215, 110);
WAIT(-1);

RECT();
C:=RGB(0,0,255);
FOR Y FROM 0 TO 239 STEP 2 DO
  LINE_P(0,Y,320,Y,C);
END;
TEXTOUT_P("No Flicker", 130, 110);
WAIT(-1);

RECT();
C:=RGB(200,200,255);
FOR Y FROM 0 TO 239 STEP 2 DO
  LINE_P(0,Y,320,Y,C);
END;
TEXTOUT_P("Flicker", 140, 110);
WAIT(-1);

RECT();
TEXTOUT_P("Test Finished", 120, 110);
FREEZE;
END;
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
RE: Flickering screen (no user interaction) - wmattias - 12-19-2019 12:32 AM



User(s) browsing this thread: 1 Guest(s)