微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

切换到更高的分辨率

最近,我开始在NASM和C开发一个操作系统.我已经制作了一个启动加载程序,内核,文件系统等.到目前为止,我直接使用VGA文本模式来写入地址0x000B8000.所以,我决定切换到视频模式而不是文本模式.我选择了最大显示分辨率320×200,但后来我意识到有三个问题.首先,只有256种不同的颜色.其次,分辨率太小.第三,写入地址0x000A0000太慢.我尝试做一些动画,但它非常迟钝,有时它会在下一帧之前等待超过一秒钟.

我在互联网上搜索了一些关于如何切换到更高分辨率的解释,如1920×1080以及如何使用256 * 256 * 256颜色而不是256.我发现的一切都说很难使用更高的分辨率,因为你必须为所有不同类型的显卡开发驱动程序,对于某些卡没有文档,因此我们必须使用逆向工程.

我真的想在我的操作系统中引入高分辨率图形.真的很难还是有简单的方法?关于如何解决这个问题的任何建议?

解决方法

几乎每个图形适配器都支持VESA帧缓冲区语义,您可以使用它配置几乎所有视频模式.缺点是您无法使用供应商特定功能(加速图形等)

例如,VESA-Xserver几乎可以与任何图形适配器配合使用(但特定型号的显卡更快)

另见:https://en.wikipedia.org/wiki/VESA_BIOS_Extensions

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐