Main Restorations Software Audio/Jukebox/MP3 Everything Else Buy/Sell/Trade
Project Announcements Monitor/Video GroovyMAME Merit/JVL Touchscreen Meet Up Retail Vendors
Driving & Racing Woodworking Software Support Forums Consoles Project Arcade Reviews
Automated Projects Artwork Frontend Support Forums Pinball Forum Discussion Old Boards
Raspberry Pi & Dev Board controls.dat Linux Miscellaneous Arcade Wiki Discussion Old Archives
Lightguns Arcade1Up Try the site in https mode Site News

Unread posts | New Replies | Recent posts | Rules | Chatroom | Wiki | File Repository | RSS | Submit news

  

Author Topic: 31khz CRT Screen tearing (Solved)  (Read 3842 times)

0 Members and 1 Guest are viewing this topic.

Dacasks

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 57
  • Last login:February 09, 2021, 09:30:30 pm
  • I want to build my own arcade controls!
31khz CRT Screen tearing (Solved)
« on: April 19, 2018, 07:39:14 pm »
Some bad things happening in my life. One of those is that all of my 15khz monitors  "fried".  Most of them pissed by some of mine twelve cats.

So I turned into regular, old PC CRT capable of 120hz+ at low resolutions, because they are cheap and I also need a monitor (My Freesync monitor was also a cat pee victim. Life's f'up)

And the results were really good.

Anyway, I noticed that, no matter if used "Super" or "Magic" resolution, and no matter what Frame_Delay setting, I get a really "shocking like" screen tearing, that moves really really slowly as the scroll rolls on.
That happens only when Gmame bumps the refresh rate to circa 120hz in order to use native resolution.

In fact, to get rid of the annoying tearing, What I'm doing is bumping/double the resolution and using a external scanline generator with it. So If I'm playing a game that uses x224... I'm forcing x448 (at say, 60hz), with a scanline generator, and the results are pretty good actually, you couldn't tell a difference from a distance... But unfortunately my scanline generator displays the lines a little bit transparently, so, it's not perfect like using the native resolution anyway.

So I ask: Is that a common behavior with 31khz/pc CRT setups? Thanks in advance.

(I really don't know if it was case of logging, since... it's just... a display "issue", but if needed..)
« Last Edit: July 11, 2018, 10:41:14 am by Dacasks »

buttersoft

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1758
  • Last login:March 22, 2024, 12:55:20 am
  • Is running at 15kHz
So I ask: Is that a common behavior with 31khz/pc CRT setups? Thanks in advance.

I think it is, yes. I think there was another thread not too long ago that talked about this issue, but i can't find anything beyond your own post about it in March :/

Dacasks

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 57
  • Last login:February 09, 2021, 09:30:30 pm
  • I want to build my own arcade controls!
Hmmm, I see. Well it's not thaaat annoying actually, and the upscaling approach is okay as well.

Funny thing though, is that by using the 120hz route, no matter what Frame_delay level I toss on it it works full speed, even with FD 9.

I tend to "fast forward" a lot when I game (My shortcut is the "3 kick buttons + "Select" =D ), and the fast forwarding speed is also Sky Rocketed compared to the "60hz" common way (like... ridiculous 1600% in any game).
Besides, going "60hz",  I only manage to reach FD 7, just like using a 15khz monitor that way.

I wish I could find a cheap monitor around here to do some of those crappy lag tests of mine (again). It may be placebo, but I feel that using 120hz gives a better input latency, I don't know. Maybe I'm trying unconsciously making it up for it to use that route instead.

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7411
  • Last login:March 14, 2024, 05:26:05 am
  • Quote me with care
Hi Dacasks,

GM defaults to triplebuffer when using double refresh rates. Triplebuffer is not compatible with frame delay, that's why it tears. You must force syncrefresh in order to use frame delay. Now, you need to set a high enough frame delay value so in jumps one vblank consistently for each frame. If frame delay is too low, it will run at full speed.

Besides, if your video card is not fast enough you'll have static tearing whith super resolutions and frame delay. Either use vsync offset to compensate for this or, better, use normal dynamic resolutions with double refresh.
Important note: posts reporting GM issues without a log will be IGNORED.
Steps to create a log:
 - From command line, run: groovymame.exe -v romname >romname.txt
 - Attach resulting romname.txt file to your post, instead of pasting it.

CRT Emudriver, VMMaker & Arcade OSD downloads, documentation and discussion:  Eiusdemmodi

Dacasks

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 57
  • Last login:February 09, 2021, 09:30:30 pm
  • I want to build my own arcade controls!
Hi Dacasks,

GM defaults to triplebuffer when using double refresh rates. Triplebuffer is not compatible with frame delay, that's why it tears. You must force syncrefresh in order to use frame delay. Now, you need to set a high enough frame delay value so in jumps one vblank consistently for each frame. If frame delay is too low, it will run at full speed.

Besides, if your video card is not fast enough you'll have static tearing whith super resolutions and frame delay. Either use vsync offset to compensate for this or, better, use normal dynamic resolutions with double refresh.

Hey Calamity, much thanks for taking the time to answer. GMAME has the best "Customer Service" on the planet =D

hmmm... So, if I understood, it's... only a matter of turning on syncrefresh?
I'm using a R9 380 by the way... so I guess it wouldn't be a problem. And it's not static, anyway.

So I turned on syncrefresh on ini (if that's the case), messed around with some other "sync related" settings as well... but no luck. Still getting those results, and same performance and everything with double refresh. But you know... as for now I got used to it but, if there's a way to prevent that from happening... Or maybe I got it wrong :s

Dacasks

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 57
  • Last login:February 09, 2021, 09:30:30 pm
  • I want to build my own arcade controls!
Nevermind, got it working *Lil Jon* YEYYYAAHH. Normal behavior, just like using the 15khz monitor (Max of FD 7, no tearing and everything)

but why it only works when I put "syncrefresh 1" per game ini?

put 1 on mame.ini did nothing... weird.

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7411
  • Last login:March 14, 2024, 05:26:05 am
  • Quote me with care
but why it only works when I put "syncrefresh 1" per game ini?

That's because -autosync is enabled in mame.ini. Disable it and syncrefresh will behave.
Important note: posts reporting GM issues without a log will be IGNORED.
Steps to create a log:
 - From command line, run: groovymame.exe -v romname >romname.txt
 - Attach resulting romname.txt file to your post, instead of pasting it.

CRT Emudriver, VMMaker & Arcade OSD downloads, documentation and discussion:  Eiusdemmodi

Dacasks

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 57
  • Last login:February 09, 2021, 09:30:30 pm
  • I want to build my own arcade controls!
but why it only works when I put "syncrefresh 1" per game ini?

That's because -autosync is enabled in mame.ini. Disable it and syncrefresh will behave.

Holy crap, didn't answer/thank you back that after all this time. Much thanks Calamity!