当前位置: 首页 > wzjs >正文

网站 公安局备案网站seo入门基础教程书籍

网站 公安局备案,网站seo入门基础教程书籍,网站内容建设运维服务器,上海网站建设品牌概述 RenderingServer是Godot中“服务器”(*Server)单例中负责渲染的“服务器”。这里的“服务器”并不是网络服务器,而可以理解为底层服务或底层API的集合。 使用RenderingServer可以完全绕过场景和节点系统。如果场景系统是瓶颈所在&…

概述

RenderingServer是Godot中“服务器”(*Server)单例中负责渲染的“服务器”。这里的“服务器”并不是网络服务器,而可以理解为底层服务或底层API的集合。

使用RenderingServer可以完全绕过场景和节点系统。如果场景系统是瓶颈所在,那么这样做就可以提升性能,否则无法提升性能。

因此对RenderingServer学习可以理解为对Godot底层渲染API的学习,学习的目的是绕过场景和节点系统进行渲染优化。


截止到Godot4.3,RenderingServer是一个拥有将近500个(我自己数的是495个)方法的庞大单例。但是其涉及的资源类型或对象就十来个,用面向对象写法的话,可能也就十来个类,但是肯能是为了性能考虑,RenderingServer采用了纯粹的函数形式。

为了尽量了解和掌握RenderingServer提供的功能,我们不得不使用分而治之的策略,采用分组和分类来探讨。


RenderingServer和RID

在这里插入图片描述

  • RenderingServer只有一个属性render_loop_enabled,用于开启或禁用渲染服务
  • create_*()*_create():用来创建各种资源
  • CanvasItem相关:如果你是基于一个场景,比如说一个Node2DControl根节点,使用RenderingServer的话,就不需要考虑 ViewportCanvas的创建,因为你可以直接将操作对应到根节点,通过get_canvas_item()来获取它们对应的CanvasItemRID

什么是RID

  • RenderingServer中没有Node的概念,只有Resource的概念。
  • 创建CanvasItemTexture2D或者相机什么的,都是创建资源实例,创建的资源实例被分配一个唯一标识RIDRID内部本质是存储了一个int类型的值。
  • RenderingServer通过方法创建资源实例,并返回对应的RID而不是资源实例本身的引用。
  • 然后所有的操作都围绕着RID展开。

为了避免内存泄漏,应该在使用完对象后调用free_rid(),因为直接使用RenderingServer时不会自动进行内存管理。


CanvasItem相关

CanvasItem是所有Node2DControl类型的父类。在2D场景中,当然就要以CanvasItem的创建和操作为主要内容。

extends Node2Dfunc _draw() -> void:var canvas_item = RenderingServer.canvas_item_create() # 创建CanvasItem实例# 绘制圆RenderingServer.canvas_item_add_circle(canvas_item,Vector2(300,300),50,Color.AQUAMARINE)# 将CanvasItem实例添加到当前节点RenderingServer.canvas_item_set_parent(canvas_item,self.get_canvas_item())

CanvasItem并不作为子节点添加

你可以在远程模式下看到,场景根节点上,并没有添加多余的节点。因为CanvasItem本身就是一个不能当做节点添加的抽象基类。它既不是具体的Node2D,也不是Control节点。

CanvasItem不是具体的节点类型,无法直接添加到场景节点树

甚至你也不能通过get_chidren()的方式获取它们,因为它们不被算作是节点。

print(get_child_count(true))  # 0

因此你可以将一个节点能够添加若干的CanvasItem理解为这个节点拥有了一个隐含的分层。

Godot不限制你在Node2DControl及其任意子类型上使用RenderingServer。这也就意为着在编写自定义节点时,可以绕过创建具体的子节点,而直接使用更底层的API,而且可以批量创建和管理大量的CanvasItem

绘图函数相关

canvas_item_add_*方法大多数都与CanvasItem的绘图函数相对应。

在这里插入图片描述

extends Node2Dvar tex:RID
const ICON = preload("res://icon.svg")func _draw() -> void:# 绘制Texture2DRenderingServer.canvas_item_add_texture_rect(self.get_canvas_item(),Rect2(0,0,200,200),ICON)
http://www.dtcms.com/wzjs/381959.html

相关文章:

  • 动态ip怎么建设网站百度手机助手下载苹果版
  • 广东最新消息东莞网站建设优化诊断
  • 鹤壁 网站建设seo的搜索排名影响因素有
  • 邢台哪个公司做网站百度拍照搜索
  • 建设网站去工信部备案需要什么资料seo电商运营是什么意思
  • 包头网站建设优化网站搜索引擎优化工具
  • 国外的域名注册网站百度关键词推广费用
  • 创新的响应式网站建设福州模板建站哪家好
  • 如何攻击php网站南通关键词优化平台
  • 网站代码怎么查看搜狗搜索引擎优化
  • 网站建设优化多少钱厦门seo俱乐部
  • 长春网站制作小程序网站制作维护
  • 公司网站建设的搜索量最大的关键词
  • 如何在网站上做社交的链接营销策划方案ppt模板
  • 廊坊网站建设解决方案律师网络推广
  • 如何用手机编程游戏描述优化方法
  • 有哪些免费做网站焊工培训内容有哪些
  • 装修设计费收费标准2020官网seo是什么
  • 个人做网站 优帮云杭州营销策划公司排名
  • 黄浦网站设计百度优化推广
  • 为什么网站百度搜不到网站公司网站建设
  • 外贸网站建设合同郑州厉害的seo优化顾问
  • 新手小白学编程seo排名需要多少钱
  • 旅游网站建设经费预算腾讯疫情实时数据
  • 企业在哪些网站发布网站应该如何进行优化
  • 手机做网站哪家好营销咨询公司排名
  • 广州免费建站找哪家营销网站建设制作
  • 重庆做网站建设的公司网络营销策略分析案例
  • 重庆轨道交通最新seo营销名词解释
  • 商赢网站建设网站制作400哪家好