首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >绘图功能的性能

绘图功能的性能
EN

Stack Overflow用户
提问于 2011-07-22 19:56:25
回答 2查看 99关注 0票数 1

我正在创建用于制作游戏的小型引擎/框架。这是个很简单的问题,但我还没有找到答案,所以我想请教你。

有一些classes是从带有Draw(...)函数的Graphic派生出来的。Draw()将被称为数十次甚至数百次(如果有许多精灵要渲染)。Draw()太大,不能内联(10-20行)。

  1. ,我希望它是virtual (有时,但很少使用多态性*)。我认为它不应该对性能有很大的影响,但是您认为应该是virtual
  2. Should吗?它有一些参数(2-6)描述要呈现的位置(等等)?我不知道通过许多争论是否会使它变慢。也许每个可绘制的对象都应该有自己的位置/区域数据??

最重要的问题是2。

*前任。有动画

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-07-22 20:08:39

任何需要绘制的对象都会影响大量像素;绘图本身可能比调用绘图函数花费更多的时间,因此调用开销可以忽略不计。在分析显示它是瓶颈之前,不要担心它。

票数 2
EN

Stack Overflow用户

发布于 2011-07-23 03:41:58

首先,您应该选择内存中,双缓冲绘图使用BitBltStretchBlt函数.

如果基类将虚拟声明为纯虚拟,则

  • 根本不是性能问题。
  • 是的,传递多个参数会使其缓慢--将它们放入结构中,并传递该结构的引用/指针;或者使用共享区域(类中的私有变量)。
  • 是的,用于重绘(重新绘制)需要所有与对象相关的数据--这很明显!
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6795382

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档