Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >现代绘画技术?

现代绘画技术?
EN

Game Development用户
提问于 2019-01-05 11:36:42
回答 1查看 185关注 0票数 0

游戏引擎如何有效地处理和绘制给定显示器中的像素?

作为一个个人项目/练习,我已经开始开发一个用Java编写的简单的游戏引擎,但是遇到了一个问题,那就是如何高效、快速地更新游戏窗口中的像素。

自从我决定在NES‘(如果我没记错的话,在60 the保持256×240的分辨率)的基础上对这个引擎建模,我很快就创建了一个像素阵列。

虽然已经认为循环遍历数组并在该循环中绘制像素不是处理此任务的最佳方法,但它的性能比我所想的还要糟糕。

我的方法只能在CPU使用率为30%和GPU为40%的情况下每秒产生100帧。

鉴于当时系统的功率有限,NES / 6502芯片的早期程序员是如何完成绘制显示器的任务的,还是说这真的是解决这个问题的最有效方法?

EN

回答 1

Game Development用户

发布于 2019-01-05 13:00:37

现代发动机中的大部分二维图形实际上都是伪装的三维图形。现代GPU是为3D绘制而优化的,但从直角观看的三维矩形只是2D透视图中的一幅图片。

最后,大多数引擎将二维精灵视为无深度的三维物体,并使用无深度坐标的GPU (正交投影 )绘制。这意味着像素艺术品作为纹理加载在GPU的内存中,然后在屏幕上绘制为纹理化的四角体。绘制到显示器的所有艰苦工作都由GPU处理。

大多数框架(例如Monogame)或引擎(Unity)抽象了这个3D翻译,因此程序员只需要在2D空间中工作。

即使在旧的系统中,如NES或C64,内存中也有一个叫做“视频内存”的区域。在内存空间中写入将导致屏幕上的直接结果。NES有自己的GPU (理光RP2C07),它提供了NES的图形功能--所以不仅仅是MOS6502在做图形。同样,C64在MOS6510旁边有一个维克-II芯片。

这些芯片还增加了特殊的图形功能--例如硬件精灵;可以放置在屏幕上任何地方的小图形,但有一些限制(通常是大小、颜色和总数或每y坐标中的精灵数)。其他系统有特定的硬件将内存块移动到视频存储器(如闪蒸)- -软件精灵。

因此,即使是在“旧”电脑/控制台中,也有一些东西可以绘制图形。

票数 1
EN
页面原文内容由Game Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://gamedev.stackexchange.com/questions/166817

复制
相关文章
C#判断当前系统是32位还是64位
C#判断当前系统是32位还是64位 // The initial C# code for the "plain" WMI query was generated by WMI Code Generator, Version 5.00, http://www.robvanderwoude.com/wmigen.php using System; using System.Management; using System.Collections.Generic; namespace Win32_Proces
用户7108768
2021/11/02
7650
是export还是module.exports,是import还是require,是ES6还是CommonJS,是爱❤️还是责任?
众所周知,在上古年代,node的开发一直被 Commonjs 规范所支配着,这也是悲剧发生的导火索,请看灾难现场:
前端小哥哥
2023/05/04
2480
是export还是module.exports,是import还是require,是ES6还是CommonJS,是爱❤️还是责任?
是风口,还是封口?
2018年7月拼多多在美国纳斯达克敲钟上市,短短三年时间,拼多多汇聚了三亿多用户,过百万卖家,建立起异类的、“拼”的线上电商生态。如此红利让很多企业家投资人纷纷加入了“拼”的热潮中去,而“拼”的形式也被玩出了新花样——社区团购。仅仅数月社区团购百花齐放,十荟团、你我您、食享会、美家优团,呆萝卜、邻邻壹、考拉精选等等社区团购平台拔地而起,风投机构闻风而来,从此又一场资金追逐战正式打响,参与者包括众多一线VC:GGV纪源资本、IDG、红杉中国、愉悦资本、真格基金等。也算是在资本寒冬的时候燃烧起了一把火,让资本市场看到了曙光,但社区团购短期内培养出下一个拼多多真的有那么容易吗?答案:很难。
机器思维研究院
2019/06/10
5520
是风口,还是封口?
C#中谁最快:结构还是类?
在内存当道的日子里,无论什么时候都要考虑这些代码是否会影响程序性能呢? 在现在的世界里,几乎不会去考虑用了几百毫秒,可是在特别的场景了,往往这几百毫米确影响了整个项目的快慢。 通过了解这两者之间的性能差异,希望帮助大家在合适的场景里选择正确的编码。
梁规晓
2019/08/09
4230
C#中谁最快:结构还是类?
AXI是Interface还是Bus?
AXI全称Advanced eXtensible Interface,是Xilinx从6系列的FPGA开始引入的一种接口协议,主要描述了主设备和从设备之间的数据传输方式。该协议是AMBA3.0(Advanced Microcontroller Bus Architecture)中最重要的部分,是一种面向高性能、高带宽、低延迟的片内接口协议。AMBA4.0将其修改升级为AXI4.0,如下图所示。
Lauren的FPGA
2020/09/10
2.2K0
AXI是Interface还是Bus?
Swift 是猴还是猿?
段义鹏
2017/11/03
3.9K0
Swift 是猴还是猿?
Kubernetes是银弹还是智子?
名词解答: 1. 银弹: 比喻为具有极端有效性的解决方法,作为杀手锏、最强杀招、王牌等的代称。 2. 智子: 科幻小说《三体》系列中锁死人类科技的人工智能。
sean.liu
2022/09/07
2570
IP是XCI还是XCIX
Vivado提供了以IP为中心的设计流程。除了Vivado自带的IP Catalog之外,还可以通过以下途径扩展IP Catalog。比如:将System Generator模型以IP形式导入到IP Catalog之中;将Vitis HLS综合后的工程导入IP Catalog之中;通过Vivado IP Packager封装用户IP并添加到IP Catalog之中;将第三方IP导入IP Catalog之中。下图很好地体现了这一设计理念(图片来源:Figure 1-1, ug896)。
Lauren的FPGA
2020/07/20
4.2K0
IP是XCI还是XCIX
什么是Web 3.0? 是真实还是乌托邦?
现在大家时不时地在聊一个新词,科技圈、加密货币圈、风险投资们谈话的时候总是会提起这个词,那就是Web3.0。
ImportSource
2022/04/12
1.1K0
什么是Web 3.0? 是真实还是乌托邦?
C#.NET下使用Sqlite
3.打开中工程,分别点击“项目”,“添加引用”,”浏览“,然后选择1中下载文件中的”System.Data.SQLite.DLL“就可以添加了。注意的是,要选着x86还是x64.这里的x86和x64的意思不是开发者电脑对应的系统,而是开发对象将运行的系统位数。所以,我们选择文件外面的x86即可。
钱塘小甲子
2019/01/29
2.2K0
C#.Net与MATLAB集成
在数学分析工具方面,MATLAB无疑是佼佼者,除了作为软件工具外,MATLAB的自定义编程语言以及混合编程的支持,使其可以与Python、R之类数学分析语言媲美。尤其是在一些传统领域的研究,由于其研究
用户1637609
2018/04/12
1.6K0
C#.Net与MATLAB集成
Python 变量,是容器还是标签?
上一次,我们聊了点关于 Python 中变量的基础知识点。今天继续这个话题聊下去。
Crossin先生
2023/08/29
2650
Python 变量,是容器还是标签?
去重是distinct还是group by?
distinct简单来说就是用来去重的,而group by的设计目的则是用来聚合统计的,两者在能够实现的功能上有些相同之处,但应该仔细区分,因为用错场景的话,效率相差可以倍计。
用户6182664
2019/11/21
1.3K1
判断今年是平年还是闰年
Scanner sc = new Scanner(System.in); //接收数据
算法与编程之美
2023/01/03
8060
判断今年是平年还是闰年
redis是CA还是CP呢
CAP原则又称CAP定理,指的是在一个分布式云服务器系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可得兼。
灬沙师弟
2022/09/16
1.9K1
自学是先看bootstrap还是vue
首先这三个的确都是前端框架,框架是帮助开发者快速开发的工具,不同的框架适用于不同的场景,可以理解为“术业有专攻”
用户1880875
2021/07/27
7100
“飞行汽车”是冷门还是未来?
2020年的北京车展上,何小鹏表示“飞行汽车将会有巨大的市场”,同时首次展示飞行汽车;2021年的上海车展上,小鹏汽车正式发布了第四代智能电动载人飞行器:旅航者X1。
镁客网
2021/06/08
4430
生孩子是国事还是家事?
计划生育是从 1970 年代执行,到 2010 年,出生率从 3.065% 下降至 2010 年的 1.19%。由于人口调控产生了诸如老龄化、劳动人口下降等不利局面,政府逐渐意识到调整人口政策的重要性。2015 年,政府宣布废除「一胎政策」,允许所有妇女生育两个孩子。但是,生育率并没有得到显著提高,2017 年,出生率仅为 1.243%。
用户3596197
2018/10/15
8730
Web 3.0 是泡沫还是金矿?
相信大家近期都被一篇《周星驰亲自招聘,进军Web3.0》的报导刷屏了,加之其承诺“我会亲自拣人”,足以见其对 Web3.0 事情的上心。
架构精进之路
2022/12/21
3080
Web 3.0 是泡沫还是金矿?
点击加载更多

相似问题

Spring Security4和PrimeFaces 5 AJAX请求处理

11

使用spring security在会话超时时注销CAS

12

Spring Security & ExtJS -会话超时时重定向到登录页面

11

JSF 2、Spring Security 3.x和Richfaces 4在ajax请求的会话超时时重定向到登录页面

21

Spring Security会话超时时间太短

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文