joncampbell123 / dosbox-x

DOSBox-X fork of the DOSBox project
GNU General Public License v2.0
2.67k stars 378 forks source link

Apple Silicon OpenGL slows down emulation speed #3544

Open navjack opened 2 years ago

navjack commented 2 years ago

Describe the bug

In macOS on Apple Silicon the OpenGL modes have an odd side effect of slowing down emulation speed. A couple programs and games i've tested seem to go under 100% realtime unless i go unreasonably low cycle count if i use OpenGL for drawing. If i use Surface rendering i can use at least 19k more cycles without dropping off from 100% realtime speed. Changing the core type does nothing, this is purely the rendering "doing something" to the processing speed,

Steps to reproduce the behaviour

  1. Be using Apple Silicon M1 Mac Mini 8GB RAM model running macOS 12.4
  2. load up dosbox-x
  3. configure dosbox-x to use any OpenGL mode (maybe being in a retina resolution matters, but i'm unsure, i do use a 4k TV as a monitor though)
  4. normal core type. pentium pro, anything above like 486dx2 66mhz cycle count
  5. run something like heretic or robocop 3
  6. have movement on the screen
  7. after a second or two it'll just drop from 100% to like 80-90%

do the same as above but change to surface rendering and normal 4x scaling and you wont have the same slowdown issue

Expected behavior

No response

What operating system(s) this bug have occurred on?

macOS 12.4

What version(s) of DOSBox-X have this bug?

dosbox-x-macosx-arm64-20220531205304

Used configuration

[sdl]
fullscreen        = false
fulldouble        = false
fullresolution    = 3200x2000
windowresolution  = 
windowposition    = 
display           = 0
output            = openglpp
videodriver       = 
transparency      = 0
maximize          = false
autolock          = false
autolock_feedback = beep
middle_unlock     = manual
clip_mouse_button = right
clip_key_modifier = shift
clip_paste_bios   = default
clip_paste_speed  = 30
sensitivity       = 100
raw_mouse_input   = false
usesystemcursor   = false
mouse_emulation   = locked
mouse_wheel_key   = -1
waitonerror       = true
priority          = higher,normal
mapperfile        = mapper-dosbox-x.map
mapperfile_sdl1   = 
mapperfile_sdl2   = 
forcesquarecorner = true
usescancodes      = auto
overscan          = 0
titlebar          = 
showbasic         = true
showdetails       = true
showmenu          = true
[log]
logfile     = 
vga         = false
vgagfx      = false
vgamisc     = false
int10       = false
sblaster    = false
dma_control = false
fpu         = false
cpu         = false
paging      = false
fcb         = false
files       = false
ioctl       = false
exec        = false
dosmisc     = false
pit         = false
keyboard    = false
pic         = false
mouse       = false
bios        = false
gui         = false
misc        = false
io          = false
pci         = false
sst         = false
int21       = false
fileio      = false
debuggerrun = debugger
[dosbox]
language                                        = 
title                                           = 
fastbioslogo                                    = false
disable graphical splash                        = false
startbanner                                     = true
bannercolortheme                                = default
dpi aware                                       = auto
quit warning                                    = auto
allow quit after warning                        = true
working directory option                        = default
working directory default                       = /Users/jackmangano/dosbox-x
show advanced options                           = true
resolve config path                             = true
hostkey                                         = mapper
mapper send key                                 = ctrlaltdel
ime                                             = auto
synchronize time                                = false
keyboard hook                                   = false
weitek                                          = false
bochs debug port e9                             = false
machine                                         = svga_s3
captures                                        = capture
autosave                                        = 
saveslot                                        = 1
savefile                                        = 
saveremark                                      = true
forceloadstate                                  = false
compresssaveparts                               = true
show recorded filename                          = true
skip encoding unchanged frames                  = false
capture chroma format                           = 4:4:4
capture format                                  = avi-zmbv
shell environment size                          = 0
private area size                               = 32768
a20                                             = mask
turn off a20 gate on boot                       = true
cbus bus clock                                  = std10
isa bus clock                                   = std8.3
pci bus clock                                   = std33.3
call binary on reset                            = 
unhandled irq handler                           = 
call binary on boot                             = 
ibm rom basic                                   = 
rom bios allocation max                         = 0
rom bios minimum size                           = 0
irq delay ns                                    = -1
iodelay                                         = -1
iodelay16                                       = -1
iodelay32                                       = -1
acpi                                            = off
acpi rsd ptr location                           = auto
acpi sci irq                                    = -1
acpi iobase                                     = 0
acpi reserved size                              = 0
memsize                                         = 64
memsizekb                                       = 0
dos mem limit                                   = 0
isa memory hole at 512kb                        = false
reboot delay                                    = -1
memalias                                        = 0
nocachedir                                      = false
freesizecap                                     = cap
leading colon write protect image               = true
locking disk image mount                        = true
unmask keyboard on int 16 read                  = true
int16 keyboard polling undocumented cf behavior = false
allow port 92 reset                             = true
enable port 92                                  = true
enable 1st dma controller                       = true
enable 2nd dma controller                       = true
allow dma address decrement                     = true
enable 128k capable 16-bit dma                  = auto
enable dma extra page registers                 = true
dma page registers write-only                   = false
cascade interrupt never in service              = false
cascade interrupt ignore in service             = auto
enable slave pic                                = true
enable pc nmi mask                              = true
allow more than 640kb base memory               = true
enable pci bus                                  = true
[render]
frameskip               = 0
alt render              = false
aspect                  = true
aspect_ratio            = 4:3
char9                   = true
euro                    = -1
doublescan              = true
scaler                  = none
glshader                = none
pixelshader             = none
xbrz slice              = 16
xbrz fixed scale factor = 0
xbrz max scale factor   = 0
autofit                 = true
monochrome_pal          = green
[pc98]
pc-98 BIOS copyright string              = false
pc-98 int 1b fdc timer wait              = false
pc-98 pic init to read isr               = true
pc-98 fm board                           = auto
pc-98 fm board irq                       = 0
pc-98 fm board io port                   = 0
pc-98 sound bios                         = false
pc-98 load sound bios rom file           = true
pc-98 buffer page flip                   = false
pc-98 enable 256-color planar            = true
pc-98 enable 256-color                   = true
pc-98 enable 16-color                    = true
pc-98 enable grcg                        = true
pc-98 enable egc                         = true
pc-98 enable 188 user cg                 = true
pc-98 start gdc at 5mhz                  = false
pc-98 allow scanline effect              = true
pc-98 bus mouse                          = true
pc-98 video mode                         = 
pc-98 timer always cycles                = auto
pc-98 timer master frequency             = 0
pc-98 allow 4 display partition graphics = -1
pc-98 force ibm keyboard layout          = auto
pc-98 try font rom                       = true
pc-98 anex86 font                        = 
pc-98 show graphics layer on initialize  = true
[dosv]
dosv             = off
getsysfont       = true
fontxsbcs        = 
fontxsbcs16      = 
fontxsbcs24      = 
fontxdbcs        = 
fontxdbcs14      = 
fontxdbcs24      = 
showdbcsnodosv   = auto
yen              = false
del              = true
fepcontrol       = both
vtext1           = svga
vtext2           = xga
use20pixelfont   = false
j3100            = off
j3100type        = default
j3100colorscroll = false
j3100backcolor   = 
j3100textcolor   = 
[video]
vmemdelay                                         = 0
vmemsize                                          = 16
vmemsizekb                                        = 0
vbe window granularity                            = 0
vbe window size                                   = 0
enable 8-bit dac                                  = true
high intensity blinking                           = true
svga lfb base                                     = 0
pci vga                                           = true
vga attribute controller mapping                  = auto
vga bios use rom image                            = false
vga bios rom image                                = 
vga bios size override                            = 0
video bios dont duplicate cga first half rom font = false
video bios always offer 14-pixel high rom font    = false
video bios always offer 16-pixel high rom font    = false
video bios enable cga second half rom font        = true
forcerate                                         = 
sierra ramdac                                     = true
sierra ramdac lock 565                            = false
vga fill active memory                            = false
page flip debug line                              = false
vertical retrace poll debug line                  = false
cgasnow                                           = true
vga 3da undefined bits                            = 4
rom bios 8x8 CGA font                             = true
rom bios video parameter table                    = true
int 10h points at vga bios                        = true
unmask timer on int 10 setmode                    = false
vesa bank switching window mirroring              = false
vesa bank switching window range check            = true
vesa zero buffer on get information               = true
vesa set display vsync                            = -1
vesa lfb base scanline adjust                     = 0
vesa map non-lfb modes to 128kb region            = false
ega per scanline hpel                             = true
allow hpel effects                                = true
allow hretrace effects                            = true
hretrace effect weight                            = 4.00
vesa modelist cap                                 = 0
vesa modelist width limit                         = 1600
vesa modelist height limit                        = 1200
vesa vbe put modelist in vesa information         = false
vesa vbe 1.2 modes are 32bpp                      = auto
allow low resolution vesa modes                   = true
allow explicit 24bpp vesa modes                   = false
allow high definition vesa modes                  = true
allow unusual vesa modes                          = false
allow 32bpp vesa modes                            = true
allow 24bpp vesa modes                            = true
allow 16bpp vesa modes                            = true
allow 15bpp vesa modes                            = true
allow 8bpp vesa modes                             = true
allow 4bpp vesa modes                             = true
allow 4bpp packed vesa modes                      = false
allow tty vesa modes                              = true
double-buffered line compare                      = false
ignore vblank wraparound                          = false
ignore extended memory bit                        = false
enable vga resize delay                           = false
resize only on vga active display width increase  = false
vga palette update on full load                   = true
ignore odd-even mode in non-cga modes             = false
[vsync]
vsyncmode = off
vsyncrate = 75
[cpu]
core                                = auto
fpu                                 = true
processor serial number             = 
segment limits                      = true
double fault                        = true
reset on triple fault               = true
always report double fault          = false
always report triple fault          = false
allow lmsw to exit protected mode   = auto
report fdiv bug                     = false
enable msr                          = true
enable cmpxchg8b                    = true
enable syscall                      = true
ignore undefined msr                = false
interruptible rep string op         = -1
dynamic core cache block size       = 32
cputype                             = 386
cycles                              = 23880
cycleup                             = 10
cycledown                           = 20
cycle emulation percentage adjust   = 0
turbo                               = false
stop turbo on key                   = true
stop turbo after second             = 0
use dynamic core with paging on     = false
ignore opcode 63                    = true
apmbios                             = true
apmbios pnp                         = false
apm power button event              = suspend
apmbios version                     = auto
apmbios allow realmode              = true
apmbios allow 16-bit protected mode = true
apmbios allow 32-bit protected mode = true
integration device                  = false
integration device pnp              = false
isapnpbios                          = true
isapnpport                          = auto
realbig16                           = false
[keyboard]
aux                     = true
allow output port reset = true
controllertype          = auto
auxdevice               = intellimouse
[ttf]
font          = BigBlue TerminalPlus Nerd Font Complete.TTF
fontbold      = 
fontital      = 
fontboit      = 
colors        = 
outputswitch  = openglpp
winperc       = 100
ptsize        = 12
lins          = 0
cols          = 0
righttoleft   = false
wp            = 
wpbg          = -1
wpfg          = 7
bold          = true
italic        = true
underline     = true
strikeout     = false
char512       = true
printfont     = true
autodbcs      = true
autoboxdraw   = true
halfwidthkana = true
blinkc        = true
gbk           = false
chinasea      = false
uao           = false
dosvfunc      = false
[voodoo]
voodoo_card   = auto
voodoo_maxmem = true
glide         = false
lfb           = full_noaux
splash        = true
[mixer]
nosound         = false
sample accurate = true
swapstereo      = false
rate            = 48000
blocksize       = 1024
prebuffer       = 25
[midi]
mpu401                  = intelligent
mpubase                 = 0
mididevice              = mt32
midiconfig              = 
samplerate              = 48000
mpuirq                  = -1
mt32.romdir             = /Volumes/nvme1/munt
mt32.model              = cm32l
mt32.reverse.stereo     = false
mt32.verbose            = false
mt32.thread             = true
mt32.chunk              = 16
mt32.prebuffer          = 32
mt32.partials           = 32
mt32.dac                = 0
mt32.analog             = 2
mt32.output.gain        = 100
mt32.reverb.mode        = auto
mt32.reverb.output.gain = 100
mt32.reverb.time        = 5
mt32.reverb.level       = 3
mt32.rate               = 32000
mt32.src.quality        = 3
mt32.niceampramp        = true
fluid.driver            = default
fluid.soundfont         = 
fluid.samplerate        = 48000
fluid.gain              = .2
fluid.polyphony         = 256
fluid.cores             = default
fluid.periods           = default
fluid.periodsize        = default
fluid.reverb            = yes
fluid.chorus            = yes
fluid.reverb.roomsize   = .61
fluid.reverb.damping    = .23
fluid.reverb.width      = .76
fluid.reverb.level      = .57
fluid.chorus.number     = 3
fluid.chorus.level      = 1.2
fluid.chorus.speed      = .3
fluid.chorus.depth      = 8.0
fluid.chorus.type       = 0
[sblaster]
sbtype                                           = sb1
sbbase                                           = 220
irq                                              = 7
mindma                                           = -1
irq hack                                         = none
dma                                              = 1
hdma                                             = 5
dsp command aliases                              = true
pic unmask irq                                   = false
enable speaker                                   = false
enable asp                                       = false
disable filtering                                = false
dsp write buffer status must return 0x7f or 0xff = false
pre-set sbpro stereo                             = false
sbmixer                                          = true
oplmode                                          = opl2
adlib force timer overflow on detect             = false
oplemu                                           = nuked
oplrate                                          = 48000
oplport                                          = 
retrowave_bus                                    = serial
retrowave_spi_cs                                 = 0,6
retrowave_port                                   = 
hardwarebase                                     = 220
force dsp auto-init                              = false
force goldplay                                   = false
goldplay                                         = true
goldplay stereo                                  = true
dsp require interrupt acknowledge                = auto
dsp write busy delay                             = -1
blaster environment variable                     = true
sample rate limits                               = true
instant direct dac                               = false
stereo control with sbpro only                   = true
dsp busy cycle rate                              = -1
dsp busy cycle always                            = -1
dsp busy cycle duty                              = -1
io port aliasing                                 = true
[gus]
gus                                = true
autoamp                            = true
unmask dma                         = false
ignore channel count while active  = false
pic unmask irq                     = false
startup initialized                = false
dma enable on dma control polling  = false
clear dma tc irq if excess polling = false
force master irq enable            = false
gus panning table                  = accurate
gusrate                            = 48000
gus fixed render rate              = false
gusmemsize                         = -1
gus master volume                  = 0.00
gusbase                            = 240
gusirq                             = 5
gusdma                             = 3
irq hack                           = none
gustype                            = classic37
ultradir                           = C:\ULTRASND
[innova]
innova     = false
samplerate = 22050
sidbase    = 280
quality    = 0
[speaker]
pcspeaker                              = true
pcspeaker clock gate enable at startup = false
initial frequency                      = -1
pcrate                                 = 49716
tandy                                  = auto
tandyrate                              = 49716
disney                                 = false
ps1audio                               = off
ps1audiorate                           = 49716
[joystick]
joysticktype  = auto
timed         = true
autofire      = false
swap34        = false
buttonwrap    = false
joy1deadzone1 = 0.25
joy1deadzone2 = 0.25
joy2deadzone1 = 0.25
joy1response1 = 1.00
joy1response2 = 1.00
joy2response1 = 1.00
joy1axis0     = 0
joy1axis1     = 1
joy1axis2     = 2
joy1axis3     = 3
joy1axis4     = 4
joy1axis5     = 5
joy1axis6     = 6
joy1axis7     = 7
joy2axis0     = 0
joy2axis1     = 1
joy2axis2     = 2
joy2axis3     = 3
joy2axis4     = 4
joy2axis5     = 5
joy2axis6     = 6
joy2axis7     = 7
[mapper]
joy1deadzone0- = 0.60
joy1deadzone0+ = 0.60
joy1deadzone1- = 0.60
joy1deadzone1+ = 0.60
joy1deadzone2- = 0.60
joy1deadzone2+ = 0.60
joy1deadzone3- = 0.60
joy1deadzone3+ = 0.60
joy1deadzone4- = 0.60
joy1deadzone4+ = 0.60
joy1deadzone5- = 0.60
joy1deadzone5+ = 0.60
joy1deadzone6- = 0.60
joy1deadzone6+ = 0.60
joy1deadzone7- = 0.60
joy1deadzone7+ = 0.60
joy2deadzone0- = 0.60
joy2deadzone0+ = 0.60
joy2deadzone1- = 0.60
joy2deadzone1+ = 0.60
joy2deadzone2- = 0.60
joy2deadzone2+ = 0.60
joy2deadzone3- = 0.60
joy2deadzone3+ = 0.60
joy2deadzone4- = 0.60
joy2deadzone4+ = 0.60
joy2deadzone5- = 0.60
joy2deadzone5+ = 0.60
joy2deadzone6- = 0.60
joy2deadzone6+ = 0.60
joy2deadzone7- = 0.60
joy2deadzone7+ = 0.60
[serial]
serial1       = dummy
serial2       = dummy
serial3       = disabled
serial4       = disabled
serial5       = disabled
serial6       = disabled
serial7       = disabled
serial8       = disabled
serial9       = disabled
phonebookfile = phonebook-dosbox-x.txt
[parallel]
parallel1 = printer
parallel2 = disabled
parallel3 = disabled
parallel4 = disabled
parallel5 = disabled
parallel6 = disabled
parallel7 = disabled
parallel8 = disabled
parallel9 = disabled
dongle    = false
[printer]
printer     = true
dpi         = 360
width       = 85
height      = 110
printoutput = png
multipage   = false
device      = -
docpath     = .
fontpath    = FONTS
openwith    = 
openerror   = 
printdbcs   = auto
shellhide   = false
timeout     = 0
[dos]
xms                                              = true
xms handles                                      = 0
shell configuration as commands                  = false
badcommandhandler                                = 
hma                                              = true
hma allow reservation                            = true
hard drive data rate limit                       = -1
floppy drive data rate limit                     = -1
special operation file prefix                    = .DB
drive z is remote                                = auto
drive z expand path                              = true
drive z hide files                               = /TEXTUTIL\25.COM /TEXTUTIL\28.COM /TEXTUTIL\50.COM
hidenonrepresentable                             = true
hma minimum allocation                           = 0
ansi.sys                                         = true
log console                                      = false
dos sda size                                     = 0
hma free space                                   = 34816
cpm compatibility mode                           = auto
share                                            = true
file access tries                                = 0
network redirector                               = true
minimum dos initial private segment              = 0
minimum mcb segment                              = 0
minimum mcb free                                 = 0
enable dummy device mcb                          = false
maximum environment block size on exec           = -1
additional environment block size on exec        = -1
enable a20 on windows init                       = false
zero memory on xms memory allocation             = false
ems                                              = true
vcpi                                             = true
unmask timer on disk io                          = false
zero int 67h if no ems                           = true
zero unused int 68h                              = false
emm386 startup active                            = false
zero memory on ems memory allocation             = false
ems system handle memory size                    = 384
ems system handle on even megabyte               = false
umb                                              = true
umb start                                        = 0
umb end                                          = 0
kernel allocation in umb                         = false
keep umb on boot                                 = false
keep private area on boot                        = auto
private area in umb                              = true
quick reboot                                     = false
ver                                              = 7.1
lfn                                              = auto
fat32setversion                                  = ask
shellhigh                                        = auto
automount                                        = true
automountall                                     = true
mountwarning                                     = true
autoa20fix                                       = true
autoloadfix                                      = true
autofixwarning                                   = false
startcmd                                         = false
starttranspath                                   = true
startwait                                        = true
startquiet                                       = false
startincon                                       = assoc attrib chcp copy dir echo for ftype help if set type ver vol xcopy
vmware                                           = true
int33                                            = true
int33 hide host cursor if interrupt subroutine   = true
int33 hide host cursor when polling              = false
int33 disable cell granularity                   = false
int 13 disk change detect                        = true
int 13 extensions                                = true
biosps2                                          = true
int15 wait force unmask irq                      = true
int15 mouse callback does not preserve registers = false
keyboardlayout                                   = auto
customcodepage                                   = 
dbcs                                             = true
filenamechar                                     = true
collating and uppercase                          = true
con device use int 16h to detect keyboard input  = true
zero memory on int 21h memory allocation         = false
dos clipboard device enable                      = false
dos clipboard device name                        = CLIP$
dos clipboard api                                = true
[ipx]
ipx = false
[ne2000]
ne2000  = false
nicbase = 300
nicirq  = 3
macaddr = AC:DE:48:88:99:AA
backend = auto
[ethernet, pcap]
realnic = list
timeout = default
[ethernet, slirp]
restricted            = false
disable_host_loopback = false
mtu                   = 0
mru                   = 0
ipv4_network          = 10.0.2.0
ipv4_netmask          = 255.255.255.0
ipv4_host             = 10.0.2.2
ipv4_nameserver       = 10.0.2.3
ipv4_dhcp_start       = 10.0.2.15
tcp_port_forwards     = 
udp_port_forwards     = 
[ide, primary]
enable                  = true
pnp                     = true
irq                     = 0
io                      = 0
altio                   = 0
int13fakeio             = false
int13fakev86io          = false
enable pio32            = false
ignore pio32            = false
cd-rom spinup time      = 0
cd-rom spindown timeout = 0
cd-rom insertion delay  = 0
[ide, secondary]
enable                  = true
pnp                     = true
irq                     = 0
io                      = 0
altio                   = 0
int13fakeio             = false
int13fakev86io          = false
enable pio32            = false
ignore pio32            = false
cd-rom spinup time      = 0
cd-rom spindown timeout = 0
cd-rom insertion delay  = 0
[ide, tertiary]
enable                  = false
pnp                     = true
irq                     = 0
io                      = 0
altio                   = 0
int13fakeio             = false
int13fakev86io          = false
enable pio32            = false
ignore pio32            = false
cd-rom spinup time      = 0
cd-rom spindown timeout = 0
cd-rom insertion delay  = 0
[ide, quaternary]
enable                  = false
pnp                     = true
irq                     = 0
io                      = 0
altio                   = 0
int13fakeio             = false
int13fakev86io          = false
enable pio32            = false
ignore pio32            = false
cd-rom spinup time      = 0
cd-rom spindown timeout = 0
cd-rom insertion delay  = 0
[ide, quinternary]
enable                  = false
pnp                     = true
irq                     = 0
io                      = 0
altio                   = 0
int13fakeio             = false
int13fakev86io          = false
enable pio32            = false
ignore pio32            = false
cd-rom spinup time      = 0
cd-rom spindown timeout = 0
cd-rom insertion delay  = 0
[ide, sexternary]
enable                  = false
pnp                     = true
irq                     = 0
io                      = 0
altio                   = 0
int13fakeio             = false
int13fakev86io          = false
enable pio32            = false
ignore pio32            = false
cd-rom spinup time      = 0
cd-rom spindown timeout = 0
cd-rom insertion delay  = 0
[ide, septernary]
enable                  = false
pnp                     = true
irq                     = 0
io                      = 0
altio                   = 0
int13fakeio             = false
int13fakev86io          = false
enable pio32            = false
ignore pio32            = false
cd-rom spinup time      = 0
cd-rom spindown timeout = 0
cd-rom insertion delay  = 0
[ide, octernary]
enable                  = false
pnp                     = true
irq                     = 0
io                      = 0
altio                   = 0
int13fakeio             = false
int13fakev86io          = false
enable pio32            = false
ignore pio32            = false
cd-rom spinup time      = 0
cd-rom spindown timeout = 0
cd-rom insertion delay  = 0
[fdc, primary]
enable                 = false
pnp                    = true
irq                    = 0
io                     = 0
dma                    = -1
int13fakev86io         = false
instant mode           = false
auto-attach to int 13h = true
mode                   = ps2
chip                   = 82077aa
[4dos]
rem = This section is the 4DOS.INI file, if you use 4DOS as the command shell
[config]
rem         = This section is DOS's CONFIG.SYS file, not all CONFIG.SYS options supported
break       = off
numlock     = 
shell       = 
dos         = high, umb
fcbs        = 100
files       = 200
country     = 
lastdrive   = a
set path    = Z:\;Z:\SYSTEM;Z:\BIN;Z:\DOS;Z:\4DOS;Z:\DEBUG;Z:\TEXTUTIL
set prompt  = $P$G
set temp    = 
install     = 
installhigh = 
device      = 
devicehigh  = 
[autoexec]
MOUNT C /Volumes/nvme1/games/dos_games
set ultradir=c:\ultrasnd
c:

Output log

No response

Additional information

No response

Have you checked that no similar bug report(s) exist?

Code of Conduct & Contributing Guidelines

joncampbell123 commented 2 years ago

One question based on what I am aware of: Are you using a video mode that runs at 24fps or 30fps? It happens often when connected to a 4K monitor.

navjack commented 2 years ago

Nope. I'd know if i was on 24 or 30hz mode.

Screen Shot 2022-06-02 at 6 28 35 PM
navjack commented 2 years ago

Extra detail that i completely blanked on. I was using the SDL2 binary. I'm not noticing the same thing with the other binary (maybe not to the same degree) in the ZIP. But i was using the SDL2 version because it fixed a bug i had with screenshots having the red and green channels switched in a weird way. The SDL2 binary also has a weird bug where the first time i click on the title bar of the window it moves my mouse to 0,0 of my screen. like if i was trying to maximize the window my mouse would teleport to the top left of my screen during the double clicking to do it.