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

support vram #313

Open
mckuhei opened this issue Jan 16, 2021 · 7 comments
Open

support vram #313

mckuhei opened this issue Jan 16, 2021 · 7 comments
Labels

Comments

@mckuhei
Copy link
Contributor

mckuhei commented Jan 16, 2021

https://ocdoc.cil.li/component:gpu#video_ram_buffers

@CoolCat467
Copy link
Contributor

MineOS has it's own double buffering protocol to best utilize the CPU/GPU by only rendering changes to the previous frame. If you want variable screen sizes (and therefore variable buffer sizes), there is already support for that too.

What do you mean by "support vram"?

@IgorTimofeev
Copy link
Owner

@CoolCat467 It's a new OpenComputers GPU feature. Nice idea btw, rendering should be really fast - but MineOS development has finished. I'll keep this issue open as reminder for some day (or someone)

@CoolCat467
Copy link
Contributor

Ah, ok. Oh, and I guess with a good method of saving frames, that would be pretty fast. Obviously it would use up more hard drive space, being virtual ram, but with having way more hard drive space than ram you could handle large images much easier I would think.

@CoolCat467
Copy link
Contributor

And virtual ram for not just the screen but also applications would make it possible to load tons more things, even though ram de-allocation is pretty good from what I've seen, like having full 3d games without worrying so much about the ram usage. Obviously OpenComputers computers are pretty slow, but still.

@IgorTimofeev
Copy link
Owner

IgorTimofeev commented Jan 17, 2021

Yeah, sounds good. Too sad that Screen lib has too much deep os optimizations that needs to be rewritten for VRAM support...

Perfectly, support for both systems is generally needed for old versions of the mod, so that, depending on the availability of VRAM methods, the system itself can decide which rendering system to use: through virtual RAM buffers of ram or through native GPU VRAM

@IgorTimofeev
Copy link
Owner

Just tested VRAM buffers system - wtf, it's freaking slow. I mean ofk drawing to buffer and performing gpu.bitblc() on whole screen is way faster then basic loop of gpu.set/fill/setBackground(), but I was clearly expecting something more usable for serious graphical purposes. Moreover: the more changed pixels are contained in the VRAM buffer, the slower the bitblc operation will be, from which it follows that the VRAM buffers already have a built-in double buffering and pixel comparison methods.

Let's see what will be in the next release version of mod with this system. I sincerely hope that the performance will improve - because it is fucking not normal when a software solution is faster than a hardware one

@CoolCat467
Copy link
Contributor

That is definitely not normal. That is truly unfortunate that the hardware implementation of VRAM is slow compared to software solutions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants