General Category > LisaList2

LisaEm 1.2.7-RC4 support bug reports

<< < (14/34) > >>

rayarachelian:
oh, one more thing I do remember changing some stuff around refreshing because previously it was refreshing constantly like hundreds of times per second, but I don't recall where that code was or what it was. I'll try to dig, that's possibly for the refresh rate. on macos x it was blitting a blank white screen with just the mouse when LOS moved the mouse around, plus some pixels underneath the mouse, and then alternating between that and the screen refresh, but I guess on GTK it was covering that up with a full repaint way too often. so when I fixed it on macosx I broke it on GTK.

Isn't it fun how even if you have a cross platform GUI framework you still need to be picky and careful for each OS?
that's another thing for the future, what to replace wxwidgets with? or if I'm doing it wrong, how do I do it right?

stepleton:
oh no! Hope you get the power back soon. Thanks for the advice---will have to try some other time if you don't fix it first!

rayarachelian:
RC2 2020.08.03 binaries/packages for macos x is now available for download.

Skinny packages:
* https://lisaem.sunder.net/downloads/lisaem-1.2.7-RC2-2020.08.03-macos-10.5-i386.pkg
* https://lisaem.sunder.net/downloads/lisaem-1.2.7-RC2-2020.08.03-macos-10.5-ppc.pkg
* https://lisaem.sunder.net/downloads/lisaem-1.2.7-RC2-2020.08.03-macos-10.7-x86_64.pkg
* https://lisaem.sunder.net/downloads/lisaem-1.2.7-RC2-2020.08.03-macos-10.8-x86_64.pkg
* https://lisaem.sunder.net/downloads/lisaem-1.2.7-RC2-2020.08.03-macos-10.10-x86_64.pkg
* https://lisaem.sunder.net/downloads/lisaem-1.2.7-RC2-2020.08.03-macos-10.11-x86_64.pkg
* https://lisaem.sunder.net/downloads/lisaem-1.2.7-RC2-2020.08.03-macos-10.12-x86_64.pkg
* https://lisaem.sunder.net/downloads/lisaem-1.2.7-RC2-2020.08.03-macos-10.15-x86_64.pkg

Universal:
* https://lisaem.sunder.net/downloads/LisaEm_1.2.7-RC2_2020.08.03-macosx.dmg

Source: (also on https://github.com/rayarachelian/lisaem/ via git)
* https://lisaem.sunder.net/downloads/lisaem-1.2.7-RC2-2020.08.03-src.tar.xz
If you're on 10.15.6, note I repushed lisaem-1.2.7-RC2-2020.08.03-macos-10.15-x86_64.pkg but not the DMG to compiled with a newer version of XCode - the old one was causing several crashes around null IPC errors, as reported by James Denton (thanks!)

rayarachelian:
About the video/updates/mouse issues Tom reported:

At first I added back the video HZ refresh display and saw it was way off, but this is because most of the time there isn't much to update on the display except when a dialog box, or window changes or the mouse moves. I also added a checkbox to force the display update at all times which flags all video RAM as dirty, forcing a full repaint each time.

At some point it jumped from something like 2Hz to several KHz, so that wasn't right either, and it doesn't seem to care what refresh rate you select from the menu, so there's a disconnect there.

Next, I've been playing around with adding a 2nd wxTimer for video updates, which isn't turning out too well either. I've tied this to the refresh rate in the display menu, so when you change between say, 60Hz to 20Hz, it sets the timer to fire that often and then call Refresh and Update. I've found two things, even though Refresh is called, it doesn't really create an OnPaint event as often, and worse, it's pinning the CPU so badly that it prevents the pull down menus (the usual File, Edit, Display, Throttle, etc.) from coming down. I also added menu options for 120Hz and 100Hz, but it's behaving badly even at 20Hz, consuming far more CPU than available, so these are unlikely to remain.


--- Code: ---void LisaEmFrame::OnDisplayTimer(wxTimerEvent& event)
{
    paintcount++;

    if (force_display_refresh) videoramdirty=32768;

    Refresh(false,NULL);
    if (force_display_refresh) Update();
}

--- End code ---

The original code uses a single timer to call the emulation loop and intersperses calls to Refresh/Update. So perhaps I'm going to return to this. The issue there is that the rate of this timer is tied to the CPU clock, so I'd have to figure out some gymnastics to keep the display refresh rate true.

On the other issue of the mouse, I added a checkbox to disable the or enable the mouse scaling. The big issue is that when using wx3.1.x+ GTK on a 4K display with GTK scale set to 2.0, getting the display resolution returns 1920x1080 while earlier versions of wx3.0.x return the physical resolution of 3840x2160. However, I found there is a GetPPI call that on the 4k display returns 256x256 - not sure this is correct and certainly it's incomplete as there doesn't seem to be a method to get the physical size of the display, so you can't tell the actual physical resolution. So not sure what would happen, on say a 56" 8K TV vs a 4k 17" monitor, etc. Alternatively I'd have to write some direct GTK code to ask GTK what the physical resolution is, which I'm not sure if it will return a scaled or actual version. Meh.

I'll move the code to an older linux laptop and a chromebook to test the mouse scaling and GetPPI() call there to see what it returns there and what the mouse scaling should be.

rayarachelian:
Looks like wx3.0.5 builds and works on macos x 10.5, so that should bring in some nice fixes.

Looks like GetPPI is ~130x166 on the chromebook and disabling the mouse scaling there works, so that's the fix for the GTK mouse issues.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version