Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CachedBitmapUtility #1

Closed
DualBrain opened this issue Dec 3, 2016 · 9 comments
Closed

CachedBitmapUtility #1

DualBrain opened this issue Dec 3, 2016 · 9 comments

Comments

@DualBrain
Copy link

Where do I find the assembly for the CachedBitmapUtility reference in FastCGAWinForms?

@morphx666
Copy link
Owner

I'm no longer supporting the FastCGAWinForms class.
However, here's the referenced library: https://github.com/svejdo1/CachedBitmap

@DualBrain
Copy link
Author

Do you have a newer version that hasn't been published to here?

@morphx666
Copy link
Owner

Yes, although it still suffers from the same bugs mentioned in the README

@DualBrain
Copy link
Author

DualBrain commented Dec 3, 2016

Would you mind updating the branch? I'm very interested in helping out on this project. I've also commented on your blog regarding your frustration with "overflow checking" with a possible solution/explanation. I see that what is published here still has overflow checking enabled and I'm guessing that you wrote additional code (with additional overhead) to work around the issue. I suspect that there is an opportunity here to improve performance by utilizing the compiler feature instead of these workarounds.

@DualBrain
Copy link
Author

As for the "same bugs" problem; two eyes are better than one. ;-)

@DualBrain
Copy link
Author

With the current code available; remarking out the line:

ug.ScaleTransform(scale.Width, scale.Height)

In RenderText() of FastCGAWinForms allowed me to get the WinForms version up and running.

It appears that ScalTransform has been removed from the CachedBitmap project. I'm not really sure what affect this has; however, the WinForms app appears to work as desired.

Also, it's interesting to point out that the WinForms version seems to run a lot faster than the console version. So well worth the effort in getting it up and running.

Without a doubt, this is a project that has be very excited! Awesome work thus far. I really look forward to participating going forward.

@morphx666
Copy link
Owner

morphx666 commented Dec 3, 2016

Unfortunately, the Console class in .NET is awfully slow.
If I'm (we're) ever able to fix the bug(s) I'll try to implement ncurses support.

As for the WinForms version: it is quite fast, but there's a lot more that can be done.
Enabling this hack makes the video renderer run blazing fast.

If you decide to experiment with this hack, you'll need to comment line 276 and uncomment line 277 from the CGAAdapter class.

@DualBrain
Copy link
Author

Hah... removing the reference from the project was all I really needed to do. ;-) With that said, now that it's confirmed we are both working with the same code... I'll definitely start digging in. Thanks for the additional links... will explore those further as well.

@morphx666
Copy link
Owner

Couple of hints:

  1. Edit and QBasic appear to suffer from the same bug. (Not sure if it matters, but FreeDos' Edit and GWBasic work just fine)
  2. Defrag fails with a rather interesting error message
  3. CheckIt's "Tests->System Board->[CPU Interrupt Bug](https://www.google.com/search?q=checkit+cpu+interrupt+bug" test used to work; I don't know what I changed to break this test.

morphx666 added a commit that referenced this issue Jan 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants