Project1

标题: 请问:一个帮助窗口的问题 [打印本页]

作者: kvkv97    时间: 2023-9-20 21:11
标题: 请问:一个帮助窗口的问题
  def set_text(text, align = 0)
    # 如果文本和对齐方式的至少一方与上次的不同
    if text != @text or align != @align
      # 再描绘文本
      self.contents.clear
      self.contents.font.color = normal_color
      self.contents.draw_text(4, 0, self.width - 40, 32, text, align)
      @text = text
      @align = align
      @actor = nil
    end
    self.visible = true
  end
在Window_Help中的方法set_text中,为什么要写text != @text,如果不写也可以,是为了节约内存吗?
作者: qq634488405    时间: 2023-9-21 08:38
不写意味着每次set_text都要重新描绘一次,虽然以现在的计算机性能基本上没什么影响,但这不是程序员不优化代码的理由,不断的优化代码提升执行效率是一个好习惯。
特别对于一些主频几兆,内存几十K甚至几K的嵌入式设备,每一个字节每一个指令都要精打细算。
如今高性能的硬件让程序员忘了怎么去优化,尽是堆屎山。就像手机app一样,随随便便占用几个g内部存储,运行起来内存随随便便吃个几个g,运行完留下一堆零碎文件,完全没有优化。
作者: AshhsA    时间: 2023-9-21 14:23
这里是判断“文本是否不同或者对齐方式是否不同”,如果其中有一种情况成立就需要擦掉原来的内容然后重新绘制。
不写的话……如果文字不同而对齐方式相同的话就会跳过重新绘制直接显示,就不能显示新文字了。





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1