Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in - nap
CSDb User Forums


Forums > C64 Pixeling > Screenshots of Interlace Pics
2024-11-29 10:53
Raistlin

Registered: Mar 2007
Posts: 680
Screenshots of Interlace Pics

I’m interested to know what people’s thoughts are on screenshotting interlace pics…

On C64GFX, we do things a bit differently to CSDb. Generally, we care more about the original art than how it’s presented - so we’ll host logos with all the “extras” removed (scrollers, textual information, etc). But of course CSDb screenshots are of how things are actually released.

With interlace pics, it’s more complicated. In theory we should be displaying animations at 50fps (usually) switching between 2 screenshots.. but I’m lead to believe that that could cause battery drain and other problems on devices - plus the FPS probably wouldn’t be 50.

Some sort of blending was suggested.. or simply choosing alternate pixels and merging to create a full-res pic.

The latter is what I’ve tried with some pics .. eg. Some of Leon’s. It looks good and it looks like it’s true to the original creation - I’d hazard a guess that he simply drew these pics at full 320x200px resolution on most of these, actually, rather than drawing on C64 in an interlace editor?

Eg. https://c64gfx.com/image/168046

I toyed with the idea of blending the 1px offset pictures (frame 0 and frame 1).. but I’m not sure that that’s correct either.

Others have suggested some fairly complex blending schemes that presumably show more like it would be on CRT - and I think this is where the 1,000s of colours problem comes in (evident on many CSDb screenshots). This seems unfair since regular MC/HI screenshots don’t get the same treatment.

Anyway, interested to know thoughts… both for CSDb and for C64GFX.com
2024-11-29 11:33
Jetboy

Registered: Jul 2006
Posts: 337
You are taking things out of contexts, and you do it without authors consent. Are you sure that is right thing to do? I know many do not mind, most do not care, but the rest?

Anyway, like with most questions in the style "this or that", the answer is both. Or rather all of them in this case.

Make all the options avaliable and let users choose. No single optoon is better than that.
2024-11-29 11:35
Gordian

Registered: May 2022
Posts: 80
Quote: I’m interested to know what people’s thoughts are on screenshotting interlace pics…

On C64GFX, we do things a bit differently to CSDb. Generally, we care more about the original art than how it’s presented - so we’ll host logos with all the “extras” removed (scrollers, textual information, etc). But of course CSDb screenshots are of how things are actually released.

With interlace pics, it’s more complicated. In theory we should be displaying animations at 50fps (usually) switching between 2 screenshots.. but I’m lead to believe that that could cause battery drain and other problems on devices - plus the FPS probably wouldn’t be 50.

Some sort of blending was suggested.. or simply choosing alternate pixels and merging to create a full-res pic.

The latter is what I’ve tried with some pics .. eg. Some of Leon’s. It looks good and it looks like it’s true to the original creation - I’d hazard a guess that he simply drew these pics at full 320x200px resolution on most of these, actually, rather than drawing on C64 in an interlace editor?

Eg. https://c64gfx.com/image/168046

I toyed with the idea of blending the 1px offset pictures (frame 0 and frame 1).. but I’m not sure that that’s correct either.

Others have suggested some fairly complex blending schemes that presumably show more like it would be on CRT - and I think this is where the 1,000s of colours problem comes in (evident on many CSDb screenshots). This seems unfair since regular MC/HI screenshots don’t get the same treatment.

Anyway, interested to know thoughts… both for CSDb and for C64GFX.com


ezgif.com gives similiar effect to real (VICE) interlace effect. But fps seems to be variable, propably caused by browser engine.
Delay time: 2
Cross fade frames: checked
Frame delay: 1
Frame count: 2
don't fade last to first frame: checked



Source: Cyclone de l'interieur
2024-11-29 11:43
Jetboy

Registered: Jul 2006
Posts: 337
Quote: ezgif.com gives similiar effect to real (VICE) interlace effect. But fps seems to be variable, propably caused by browser engine.
Delay time: 2
Cross fade frames: checked
Frame delay: 1
Frame count: 2
don't fade last to first frame: checked



Source: Cyclone de l'interieur


looks awfull on my phone. terrible on my laptop, and semi decent on my desktop
2024-11-29 12:51
Gordian

Registered: May 2022
Posts: 80
Quote: looks awfull on my phone. terrible on my laptop, and semi decent on my desktop

What about video?
https://kawalekkodu.pl/video.html
2024-11-29 12:53
Jetboy

Registered: Jul 2006
Posts: 337
Sorry for double posting.

Theoretically the best solution would be to use window.request AnimationFrame(callbackfunction)

and display 2 images alternatively. It would synchronize to the screen refresh rate. That means it wouldn't be the same rate as on c64 on most monitors, but at least it would display both images for the same amount of time so the nasty flickering would be minimal.

Theoretically, because it is web based, and with javascript you cannot be sure of anything. Even Nikolaj Copernicus might be still alive in some JS context...

Of course using 2 Vice screenshots with pal emulation (or ntsc, depending of original image) turned on would look more true to original experience than 2 crisp representations of data.

If you need, i can help you implement that during the weekend.

Still i would love to be able to see each half image separately, superimposed flicker free version, and fake higher resolution one.
2024-11-29 13:01
Jetboy

Registered: Jul 2006
Posts: 337
Quote: What about video?
https://kawalekkodu.pl/video.html


Much, much better! Seems flawles on laptop and PC, and only glitches ocassionally on the phone.

However i'm not sure how much more data usage it would need. It is a matter of storage space, but more important on outgoing transfer. Depending on the plan it could impqact server costs greatly.
2024-11-29 13:12
Gordian

Registered: May 2022
Posts: 80
Quote: Much, much better! Seems flawles on laptop and PC, and only glitches ocassionally on the phone.

However i'm not sure how much more data usage it would need. It is a matter of storage space, but more important on outgoing transfer. Depending on the plan it could impqact server costs greatly.


15186 bytes.
2024-11-29 13:15
Raistlin

Registered: Mar 2007
Posts: 680
Quote: What about video?
https://kawalekkodu.pl/video.html


Trying on my phone, I’m just getting a static frame from this..?
2024-11-29 13:17
Gordian

Registered: May 2022
Posts: 80
Quote: Trying on my phone, I’m just getting a static frame from this..?

Please check that file directly. You must set looping manualy.
https://kawalekkodu.pl/cyclone_de_l_interieur.mp4
2024-11-29 13:18
Jetboy

Registered: Jul 2006
Posts: 337
Quote: Trying on my phone, I’m just getting a static frame from this..?

IT's that good!
Try zooming it, you will notice those are actually 2 images shown alternatively pretty quickly.

Though i noticed some compression artifacts.
2024-11-29 13:46
Gordian

Registered: May 2022
Posts: 80
More accurate refresh rate without loss quality, but size is 69389 bytes.

https://kawalekkodu.pl/video2.html

Command used:
ffmpeg -framerate 1/0.02 -i cyclone_%1d.png -r 25 -crf 0 outputvideo.mp4

Files used: cyclone_1.png cyclone_2.png
2024-11-29 14:52
Count Zero

Registered: Jan 2003
Posts: 1932
Hm - video.html works on my FF ESR (128.4 here currently) and Chrome, video2.html works on Chrome only. Shrug.

"Video can't be played because the file is corrupt." (using the mp4 directly - html has just a blank page) ?
2024-11-29 15:33
Gordian

Registered: May 2022
Posts: 80
Quote: Hm - video.html works on my FF ESR (128.4 here currently) and Chrome, video2.html works on Chrome only. Shrug.

"Video can't be played because the file is corrupt." (using the mp4 directly - html has just a blank page) ?


There is something wrong with video codec. I will try encode later.

HTML is <video> tag with attributes autoplay, loop and muted (this one is needed to autoplay without user interaction).
2024-11-29 16:14
MagerValp

Registered: Dec 2001
Posts: 1078
I'd try a static 50/50 blend as the fallback, and then replace it with a javascript anim with two alternating 70/30 and 30/70 frames.

It'll never look exactly how it does on a proper crt in the web browser, so you'll have to find an approximation that isn't too jarring. Flipping between two frames without blending sadly never looks right on modern browsers.

Extracting hires pixels from MCI like your example above just looks wrong and should be avoided imho — it'll never look anything even remotely like that on a real C64.
2024-11-29 16:20
chatGPZ

Registered: Dec 2001
Posts: 11386
Those flickering gifs are headache inducing, awful

video doesn't work for me (static), browser doesn't offer "loop" either.

I don't think there is a good solution for this. Not an easy one anyway. You'll either get non synchronised flickering mess - or some super unrealistic blended image.

Maybe you can steal a CRT shader with phosphor persistance somewhere and wrap it into a webgl based viewer. That might work - without showing totally unrealistic result.
2024-11-29 17:35
Raistlin

Registered: Mar 2007
Posts: 680
Quote: I'd try a static 50/50 blend as the fallback, and then replace it with a javascript anim with two alternating 70/30 and 30/70 frames.

It'll never look exactly how it does on a proper crt in the web browser, so you'll have to find an approximation that isn't too jarring. Flipping between two frames without blending sadly never looks right on modern browsers.

Extracting hires pixels from MCI like your example above just looks wrong and should be avoided imho — it'll never look anything even remotely like that on a real C64.


50/50 blend is exactly what I'm working on right now - and I think is for sure the best solution.

Emulating CRT isn't something that I do for "regular" (non-interlace) images so I won't with interlace either. If someone wants to see these on CRT, they can just bring the pics up fullscreen and plug a CRT into their PC :p
2024-11-29 17:38
chatGPZ

Registered: Dec 2001
Posts: 11386
What you could also try is producing two images that have the half-frames in alternating lines, and then put those into a gif like above - it may or may not reduce flickering
2024-11-29 18:13
Gordian

Registered: May 2022
Posts: 80
Quoting chatGPZ

browser doesn't offer "loop" either.

You mean just playing video file (not html file) directly in browser? There should be "loop" option in the context menu.

I really don't know what is going on with 2nd version. It's encoded via libx264 encoder and should works...

Third version: https://kawalekkodu.pl/video3.html
Works in Chrome and FF.
Command used:
ffmpeg -framerate 1/0.02 -i cyclone_%1d.png -r 25 -crf 0 -pix_fmt yuv420p -codec:v libaom-av1 outputvideo.mp4

Codec AV1: https://trac.ffmpeg.org/wiki/Encode/AV1
Browser support: https://caniuse.com/av1
2024-11-29 18:24
chatGPZ

Registered: Dec 2001
Posts: 11386
Quote:
There should be "loop" option in the context menu.

yeah, right. and it looks much less irritating than the gif version.

However, if browser doesn't loop by default (and there is no way to force it), its kinda useless
2024-11-29 19:15
Gordian

Registered: May 2022
Posts: 80
Quoting chatGPZ
Quote:
There should be "loop" option in the context menu.

yeah, right. and it looks much less irritating than the gif version.

Video has lower frame rate - closer to real interlace.

Quoting chatGPZ

However, if browser doesn't loop by default (and there is no way to force it), its kinda useless

Yes, it's useless if you want to play "interlaced" images outside the webpage. There is solution for this, just put more than 2 frame into video file, but it will grow.
2024-11-29 19:25
Raistlin

Registered: Mar 2007
Posts: 680
Ok, I've updated the site now to use 50:50 blending for the interlace pics. I create the blended pics when I run my update-tool for the site - so if a better formula or method comes along that I can implement in C++ then it's easy to update all the pics at the same time.

Though... there're apparently currently 705 images tagged as interlace - and I've so far only setup approx 20 of them.. it's a very manual process to get these done right now. But, yeah, some samples:-

https://c64gfx.com/image/185980
https://c64gfx.com/image/46010
https://c64gfx.com/image/168046
https://c64gfx.com/image/179136

I reckon it's good enough. Filesizes are small, there's no flickering (I know... often there -should- be flickering... but .. meh ..), etc etc.
2024-11-29 20:23
CreaMD

Registered: Dec 2001
Posts: 3057
I did something similar (mixing of 2 pics) 24 years ago. manually in gfx editor (hence the cropping and different sizes). I made a gallery of party GFX compo pictures in PHP. Entries from every party that I could find were there filterable by year and maybe some other filters. All pics had wrong palette (I liked that one though). The gallery got scrapped by Noname guys for initial CSDB content in all wrong sizes etc ;-). Images got slowly replaced by the correct ones over the years (not sure if all of them, though).

the images are here :-)
http://www.c64.sk/gallery/bopc2/pic/
2024-11-29 21:04
Jetboy

Registered: Jul 2006
Posts: 337
Quoting chatGPZ
I don't think there is a good solution for this. Not an easy one anyway. You'll either get non synchronised flickering mess - or some super unrealistic blended image.


Could somebody please hold my beer?

http://brombra.net/hold%20my%20beer/index.html
2024-11-29 21:15
CreaMD

Registered: Dec 2001
Posts: 3057
🤌🤌🤌
2024-11-29 21:22
Jetboy

Registered: Jul 2006
Posts: 337
i used vice to make screenshots and i'm using those images,colors seems strangely oversaturated to me.

Anyone can experiment by saving index.html and placing 2 images in the same folder naming them s1.png and s2.png then opening the index.html in the browser.

Source is well documented, courtesy of chatgpt.

looks great on all my devices. On desktop it seems there is no flicker at all thanks to 144Hz refresh rate
2024-11-29 21:54
Jetboy

Registered: Jul 2006
Posts: 337
correction. it ocassionally stutters on my laptop showing the same frame a couple of times
2024-11-29 22:19
chatGPZ

Registered: Dec 2001
Posts: 11386
Goes into unrealistic blended drawer for me - no difference to static blended image here :)
2024-11-29 22:50
Raistlin

Registered: Mar 2007
Posts: 680
And again it doesn’t work on my iPhone :-( .. it only
Updates the screen if I scroll/zoom etc.
2024-11-30 00:54
Digger

Registered: Mar 2005
Posts: 437
It would be nice to offer the preview mode:

1.) Lace (by using GPU accelerated CSS or JS renderAnimationFrame, e.g. I do toggle a CSS class when you switch "dither" to "lace" https://og2t.github.io/retro-palette-explorer/)
2.) Overlay blending 50/50
2024-11-30 05:32
Raistlin

Registered: Mar 2007
Posts: 680
Quote: It would be nice to offer the preview mode:

1.) Lace (by using GPU accelerated CSS or JS renderAnimationFrame, e.g. I do toggle a CSS class when you switch "dither" to "lace" https://og2t.github.io/retro-palette-explorer/)
2.) Overlay blending 50/50


That looks good! The “preview”‘hover appears over the contain on the main window, though, so I can’t actually click the options underneath on mobile :-(

I’ll try on desktop tonight.
2024-11-30 09:17
Jetboy

Registered: Jul 2006
Posts: 337
Quote: And again it doesn’t work on my iPhone :-( .. it only
Updates the screen if I scroll/zoom etc.


11 years is a lot for a phone. It has propper support since ios 7.0

groepaz: it is as close as can be. The biggest difference we have influence on is higher than c64 refresh rate. we can lower it but only by integer factor.

on a 60hz monitor it will be 30hz so still too high for pal c64, but perfect for.ntsc.

on a 72Hz and a factor of 3 it would be 24hz, almost like pal but a little less.

I will add buttons to try different factors when i crawl out of bed.

Then there are factors we have no influence on, like the fact modern monitors have totally different characteristics than crt. We could come up with some ways to circumvent it, but i agree it is not worth the effort.

Plus i think image we used is not the best example. It was first one Raistlin posted. I will grab one of Carron's works next time.

t
2024-11-30 12:52
Jetboy

Registered: Jul 2006
Posts: 337
I shouldn't be writing when i'm not fully awake... Please disregard previous post as the details are totally misscalculated.

Anyway - here is experiment with different factors.

Images switching every 1,2,3 frames.

http://brombra.net/hold%20my%20beer/index2.html

@gropeaz: I can still see flickering on 60Hz monitor with option 1, but when the refresh rate is greater than that, it is virtually the same for me as superimposed images.
2024-11-30 13:17
Gordian

Registered: May 2022
Posts: 80
Test in CSS: https://kawalekkodu.pl/interlace_css.html
2024-11-30 13:55
Shine

Registered: Jul 2012
Posts: 369
I like your result.
2024-11-30 16:00
Jetboy

Registered: Jul 2006
Posts: 337
Gordian, are you sure blendmode should be soft-light?
What we need to do to superimpose those 2 images is getting average for each pixel. I would do it like that in Affinity Photo, but there is no average blendmode in css...

Notice how displaying alternating frames in my implementation makes the background color of Carrion image blend evenly, as it should, and using your method makes stripes slightly visible.
2024-11-30 16:08
chatGPZ

Registered: Dec 2001
Posts: 11386
The animated css version looks most accurate from all posted ones to me
2024-11-30 17:25
Gordian

Registered: May 2022
Posts: 80
Quoting Jetboy
Gordian, are you sure blendmode should be soft-light?

Jetboy, this is the only value that works best IMO.
2024-11-30 17:36
Jetboy

Registered: Jul 2006
Posts: 337
Quote: Quoting Jetboy
Gordian, are you sure blendmode should be soft-light?

Jetboy, this is the only value that works best IMO.


For the Leon picture it is pretty close indeed, but it needs to work well for all of them. Raistlin blend solution seems to be spot on.

But that css interlace works really well.
2024-11-30 17:38
Raistlin

Registered: Mar 2007
Posts: 680
Thanks Gordian - that does look good! It’ll take me a while to try on the site properly but I’ll get there :-)
2024-11-30 17:41
Gordian

Registered: May 2022
Posts: 80
And.... Tri-lace: https://kawalekkodu.pl/trilace_css.html

Quoting Raistlin
Thanks Gordian - that does look good! It’ll take me a while to try on the site properly but I’ll get there :-)

If you need, I can prepare more universal CSS, which takes URL of images from data-* attributes of DIV.lace. Just let me know.
2024-11-30 18:09
Jetboy

Registered: Jul 2006
Posts: 337
Quote: And.... Tri-lace: https://kawalekkodu.pl/trilace_css.html

Quoting Raistlin
Thanks Gordian - that does look good! It’ll take me a while to try on the site properly but I’ll get there :-)

If you need, I can prepare more universal CSS, which takes URL of images from data-* attributes of DIV.lace. Just let me know.


Frame 2 and frame 3 are the same.
2024-11-30 18:13
Gordian

Registered: May 2022
Posts: 80
Good catch:) I fix it, was wrong only as separated frames examples.
2024-11-30 18:51
Digger

Registered: Mar 2005
Posts: 437
Soft-light mode seems to increase the saturation though.
2024-11-30 19:39
Jetboy

Registered: Jul 2006
Posts: 337
I know i'm retarded, but i think if something is going to be done, it should be done right.

There is an error in the css animation, it has keys at 0, 50, 100 while it should have them at 0, 33, 66.

You have them 2 side by side so you can compare, but at the higher rate, so it blends better.

Also soft-light is plain wrong. Compare interlacing result with it, then compare it with proper blend.

http://brombra.net/hold%20my%20beer/trilace_css.html


But Gordian you unintentionally created excellent copy protection for images. They cannot be saved with "save image", and if you make a screenshot it will be not correct :) Of course anyone with a browser and some knowledge can still scrap the sources and reconstruct images, but that requires way more than average knowledge :) I'm impressed! Have not seen it done like that before. Bravo!

In a way that reminds me of LM Dir Fun Fresh cannot type some values into the filenames where he is injecting the code, so he can't do simple lda #$value, but he can load different value and xor it with yet another different value getting what he needs that would otherwise be prohibited. It is exactly the same thing with images here :)
2024-11-30 19:52
Gordian

Registered: May 2022
Posts: 80
Quoting Jetboy

There is an error in the css animation, it has keys at 0, 50, 100 while it should have them at 0, 33, 66.

Yes, you're absolutely right. I've uploaded wrong version.

Quoting Jetboy

Also soft-light is plain wrong. Compare interlacing result with it, then compare it with proper blend.

As I wrote above, soft-light is the only option which gives results closest to the "real" interlace. Any other value of background-blend-mode it is not as good as this one. It's not the ultimate solution, just example;)

Quoting Jetboy

But Gordian you unintentionally created excellent copy protection for images. They cannot be saved with "save image", and if you make a screenshot it will be not correct :) Of course anyone with a browser and some knowledge can still scrap the sources and reconstruct images, but that requires way more than average knowledge :) I'm impressed! Have not seen it done like that before. Bravo!

Every image embedded as background-image cannot be save by "Save image":) Whatever there is animation or not.
2024-11-30 20:46
Jetboy

Registered: Jul 2006
Posts: 337
Quoting Gordian

Every image embedded as background-image cannot be save by "Save image":) Whatever there is animation or not.

Yes, but not every background image displays wrong when screen shoting. This could be brought to next level by mixing more images, which each looks nothing alaik original picture, but looks exactly the same when you combine all of them.

As Digger suggested, i added pure css solution to blend 3 images to one properly without using blend modes, just opacity (previous link updated). We draw first image with 100% opacity, second on top of it with 50% opacity, and third with 33.33% opacity. In result each image has 33,33% of influence - of course there is some rounding error like always with discrete math, but it is negligible.
2024-12-01 22:57
Digger

Registered: Mar 2005
Posts: 437
@Raistlin: I hope this last solution solved the problem? I'd still vote for a toggle switch between i-lace and composite.
2024-12-01 23:06
chatGPZ

Registered: Dec 2001
Posts: 11386
(and interlace should be default really)
2024-12-02 03:29
Raistlin

Registered: Mar 2007
Posts: 680
Which do we think we'd like most?

I'm not currently looking to emulate CRT .. I don't think that would be fair since the MC/HI pics don't do that. But if "interlace" can be simulated without all the smudging that comes with CRT, I think that would be fine?

Was Gordian's 50hz interlace here the right option..?

https://kawalekkodu.pl/interlace_css.html
2024-12-02 07:40
Gordian

Registered: May 2022
Posts: 80
I've made a little change in that example.
Previous 50 Hz and 100 Hz based on the linear easings which causes smoother swaps (there is opacity change between images). I added also stepped animation like in the trilace example. It looks like rectangle signal/function, and no smoothness can bee seen. The bigger difference can be seen in the 50 Hz example which is just slower.
2024-12-02 12:37
Jetboy

Registered: Jul 2006
Posts: 337
YEAH! Now we are talking!
Your new version of interlace, plus my version of css blending and we are ready to go!

btw. There are 2 versions of interlace with MC. With, and without 1 pixel horizontal scroll. It is important to keep that if we want the images to be as true to the original as possible.
2024-12-04 16:31
Raistlin

Registered: Mar 2007
Posts: 680
Thanks to Gordian, we now have interlace pics interlacing on C64GFX :-)

Leon’s page is a great example of them: https://c64gfx.com/artist/1373/leon
2024-12-04 16:34
Shine

Registered: Jul 2012
Posts: 369
Yeah indeed, thanks A LOT to Gordian!

I am not a big fan of interlaced pictures at all, but this result seems very suited!
2024-12-04 17:26
Gordian

Registered: May 2022
Posts: 80
No at all, it was pleasure for me:)

P.S. We add also JS script which prevents flickering empty/black frame(s) when they are not fully loaded (sometimes one of the frames was loaded faster than the other one).
2024-12-04 17:53
chatGPZ

Registered: Dec 2001
Posts: 11386
Somehow on the website it doesnt look nearly as good (interlace stuttering all the time) as in the css anim in the thread :/
2024-12-04 22:07
Digger

Registered: Mar 2005
Posts: 437
Hmm doesn't seem to work in Safari nor Firefox on a Mac (e.g. https://c64gfx.com/image/160940), but Gordian's examples work fine.
Works in Chrome only.

@Groepaz: Yeah, I've been trying various techniques to remedy the stutter but nothing works.
2024-12-04 22:17
chatGPZ

Registered: Dec 2001
Posts: 11386
The previous css anim was working perfectly here :)
2024-12-05 03:45
Raistlin

Registered: Mar 2007
Posts: 680
Updated again now (thanks again, Gordian) so should hopefully work. Fixed a few other bugs at the same time.

Thanks everyone - let me know if anything else is borked :-)
2024-12-05 07:41
Gordian

Registered: May 2022
Posts: 80
@Digger, I've tested on MacOS Sequioa, FF 133.0 and Safari 18.0 (20619.1.26.31.6), works fine...

@All: We decided change the speed of animation to two times faster, because some of images look awful with standard speed, and much worse than in VICE.
background-image animation was change to <img> animation for SEO purposes and greater performance.
Stepped animation (my last example in this thread) was change to more linear (as previously), now it's more smoother and not jiggly.
2024-12-05 07:41
soci

Registered: Sep 2003
Posts: 480
I'd be really nice if it could be improved by removing the "not-loaded" class from the container. Then it wouldn't be blank with javascript disabled. Asking for a friend :)

Also while it's flickering as intended at 60Hz it doesn't (or hardly) works at all at 50Hz. Actually it acts strange at any frame rate which (almost) divides 100.

That's a pity as on machines I actually do stuff the displays tend to run close to 50.12 Hz for some reason.
2024-12-05 07:47
Gordian

Registered: May 2022
Posts: 80
Quoting soci
I'd be really nice if it could be improved by removing the "not-loaded" class from the container. Then it wouldn't be blank with javascript disabled. Asking for a friend :)

I'm sorry, but who disables JS these days...
2024-12-05 08:16
Gordian

Registered: May 2022
Posts: 80
I've prepared again some examples.
Please check which one looks best on your computer (maybe comparing to real hardware/VICE) and let us know. Please also refresh rate of your monitor.

https://kawalekkodu.pl/leon.html
2024-12-05 09:22
MagerValp

Registered: Dec 2001
Posts: 1078
Quoting Gordian
https://kawalekkodu.pl/leon.html

Firefox on macOS with ProMotion:

6 looks best by a mile, 8 is pretty good. 5, 7, 9, 10, 11, 12 all have lots of judder, 1-4 are static.

Safari on iPhone:

8 looks good, the others are wonky in various ways.
2024-12-05 09:26
Shine

Registered: Jul 2012
Posts: 369
Well,

i can only say which looks not so good to me personally:

1, 2, 5, 6, 9, 11

Monitor: 60 Hz / FullHD / 1920x1080

Chrome
2024-12-05 09:48
Gordian

Registered: May 2022
Posts: 80
Quoting MagerValp

Firefox on macOS with ProMotion:
6 looks best by a mile, 8 is pretty good.

What is refresh rate of your monitor?
2024-12-05 09:49
Dano

Registered: Jul 2004
Posts: 234
Interestingly they behave differently on Firefox and Chrome, where Chrome flickers way more.

Win11 here, WQHD.

I'm with MagerValp here, 8 is the sweet spot for me with looks best.
2024-12-05 10:07
MagerValp

Registered: Dec 2001
Posts: 1078
Quoting Gordian
Quoting MagerValp

Firefox on macOS with ProMotion:
6 looks best by a mile, 8 is pretty good.

What is refresh rate of your monitor?

"It depends." ProMotion dynamically switches between anything from 1 Hz to 120 Hz depending on screen activity.

Subjectively it looks like it's displaying at 60 Hz to me when viewing your test page, but it isn't possible to know for sure.
2024-12-05 10:08
Shine

Registered: Jul 2012
Posts: 369
I agree with the others ... 8 seems to be the best.
2024-12-05 10:31
Gordian

Registered: May 2022
Posts: 80
Hmm...8 is method used currently on c64gfx.com :)

Guys, do you see any difference between 6 and 6b. I added 6b as example which uses Web Animations API.
2024-12-05 10:50
Dano

Registered: Jul 2004
Posts: 234
To me both look identical flickery.
2024-12-05 11:28
Shine

Registered: Jul 2012
Posts: 369
If there is a difference (6 / 6b), it's very small.
2024-12-05 11:47
MagerValp

Registered: Dec 2001
Posts: 1078
6b has half the refresh rate of 6 for me (FF with ProMotion).
2024-12-05 12:49
Jetboy

Registered: Jul 2006
Posts: 337
Please face the fact that timings in web browsers are not very precise, but usually it is not required, with interlace it is. It depends greatly on the activity of other tabs, and other software, and general workload of the system.

It seems like #8 is decent as default, but the sample number of testers is way too low to be sure.

Still, the best option would be to let users choose in the preferences, then have a decent default, and option to select other modes of display on the picture page, with all done in CSS, it's easy to switch between them, and it does not require storing more than 2 halfs of image (or 3 for trilace) nor downloading them multiple time nor reloading the page.

Either way, i'm out of this thread.
2024-12-05 13:18
Gordian

Registered: May 2022
Posts: 80
Quoting Jetboy
Please face the fact that timings in web browsers are not very precise, but usually it is not required, with interlace it is. It depends greatly on the activity of other tabs, and other software, and general workload of the system.

Yes, and battery/power supply, etc..
That's why we try to find best option, which doesn't have to be perfect.

Quoting Jetboy

It seems like #8 is decent as default, but the sample number of testers is way too low to be sure.
[/quute]
We're not sure, still waiting. #8 is currently used on C64GFX, but not on the basis of user opinions. It was set before.
2024-12-05 15:24
chatGPZ

Registered: Dec 2001
Posts: 11386
Quote:
Updated again now (thanks again, Gordian) so should hopefully work.

looks fine to me now
2024-12-05 23:27
Digger

Registered: Mar 2005
Posts: 437
Great discussion and collaboration, what's now live at c64gfx.com is perfect.
2024-12-08 19:13
Impetigo

Registered: Jun 2004
Posts: 32
Quote: I've prepared again some examples.
Please check which one looks best on your computer (maybe comparing to real hardware/VICE) and let us know. Please also refresh rate of your monitor.

https://kawalekkodu.pl/leon.html


W10, Firefox 133, 90Hz refresh rate monitor

6b is closest to what I see on Vice 3.8 (a recent nightly). 6 looks similar to 6b. Didn't check it on real hardware.

1, 2, 3, 4 are (same) fixed images. Looks like only one of the frames is displayed.

7, 8, 10, 12 flicker a lot! Far from what I see on Vice.

5, 9, 11 is strange. One type of flicker for 1 second then another type of flicker for another second. And it repeats like that.
2024-12-08 20:00
Gordian

Registered: May 2022
Posts: 80
Quoting Impetigo

7, 8, 10, 12 flicker a lot! Far from what I see on Vice.

What do you mean exactly by "flicker a lot". Is it flickering too fast (faster than what you see in Vice?) or very slow?
2024-12-09 12:20
Impetigo

Registered: Jun 2004
Posts: 32
Quote: Quoting Impetigo

7, 8, 10, 12 flicker a lot! Far from what I see on Vice.

What do you mean exactly by "flicker a lot". Is it flickering too fast (faster than what you see in Vice?) or very slow?


I think they flicker slow so, it looks like there is a lot of movement on the picture.
2024-12-09 12:23
Gordian

Registered: May 2022
Posts: 80
Could you record video?
2024-12-09 16:37
chatGPZ

Registered: Dec 2001
Posts: 11386
showing these effects by recording video is .... doomed to fail. You'll add at least one more framerate conversion to the mix :D
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
Rock/Finnish Gold
Freeze/Blazon
.jetan/AI-supported ..
Flashback
E$G/HF ⭐ 7
TheRyk/MYD!
McMeatLoaf
FranckS
Thierry
Conrad
MCM/ONSLAUGHT
Shake/Role
Guests online: 112
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Mojo  (9.7)
4 Coma Light 13  (9.6)
5 Edge of Disgrace  (9.6)
6 What Is The Matrix 2  (9.6)
7 The Demo Coder  (9.6)
8 Uncensored  (9.6)
9 Comaland 100%  (9.6)
10 Wonderland XIV  (9.6)
Top onefile Demos
1 Layers  (9.6)
2 No Listen  (9.6)
3 Cubic Dream  (9.6)
4 Party Elk 2  (9.6)
5 Copper Booze  (9.6)
6 Dawnfall V1.1  (9.5)
7 Rainbow Connection  (9.5)
8 Onscreen 5k  (9.5)
9 Morph  (9.5)
10 Libertongo  (9.5)
Top Groups
1 Performers  (9.3)
2 Booze Design  (9.3)
3 Oxyron  (9.3)
4 Triad  (9.3)
5 Censor Design  (9.3)
Top NTSC-Fixers
1 Pudwerx  (10)
2 Booze  (9.7)
3 Stormbringer  (9.7)
4 Fungus  (9.6)
5 Grim Reaper  (9.3)

Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.13 sec.