【AICon】AI 基础设施、LLM运维、大模型训练与推理,一场会议,全方位涵盖! >>> 了解详情
写点什么

Moonlight 项目团队的 21 天

  • 2007-06-22
  • 本文字数:1087 字

    阅读完需:约 4 分钟

5 月底收到在巴黎举行的 ReMix07 大会的参会邀请后,Mono 团队开始夜以继日地投入到他们的 Silverlight 实现——Moonlight 项目中。用 Miguel de Icaza 自己的话 说:

5 月 31 日,除了学习 Silverlight、探究如何解码视频、对视频进行简单测试 并开始计划 之外,还没有什么可以演示的东西。

不过仅靠 Silverlight 1.0 API 做为参考,通过 Email 沟通和即时通讯工具(IRC),在三周的时间内他们就完成了下面这些工作:

6 月 14 日

  • 文本渲染(Jeff)
  • 放射变化(Sebastien)
  • 在改变子节点时 Canvas 处理附带属性
  • 实现下载工具(Downloader)(Toshok)
  • 托管下载工具(Miguel)
  • 鼠标移入 / 移出事件(Miguel)
  • 从网络上加载图片
  • Everaldo 实现内嵌型插件,而不是现在正用的 Hack

6 月 15 日

  • 文本中的 Inline 和 Run
  • 性能提升
  • 连接单个对象的鼠标事件
  • 使用 Assembly 从 XAML 文件中装载定制的对象
  • Everaldo 完成用 Javascript 修改界面的插件
  • Sebastien 开始用 Silverlight 将 Surface 导出至 Gtk#

6 月 16 日

  • XAML 依赖文件的装载(Miguel,Jackson)
  • Toshok 使用绑定沙盒优化渲染
  • Jackon 负责 hook 依赖装载
  • Jeff 重构视频引擎,使其可重用
  • C#绑定

6 月 17 日

  • Jeff 实现 VideoBrush
  • Sebastien 实现多种图像属性,可通过特定参数进行渲染
  • 更新 Event 系统,Surface 现在能以正确的顺序得到事件
  • 修复动画解析器,Surface 动画现在可正常定时
  • Everaldo 在 HTML 页面里增加对 XAML 内容的支持(在 URL 里面用#标识)
  • Jackson 实现 XAML 装载时对 x:Class 的支持

6 月 18 日

  • Rolf 实现在 Moon 类型系统和绑定里对 Nullable 类型的支持,以在 C#代码中映射 Nullable 到 C++ Nullable
  • Jeff 实现了对 VideoBrush 共享 MediaElement 的支持
  • Jeff 为 Runs 实现 Brush
  • Paolo 帮助勾画 Moonlight 的 Surface,使交互更平滑
  • Chris 和 Sebsatien 优化屏幕渲染的性能
  • Chris 提高动画和屏幕的刷新,构建基于 Xlib 的图像表面
  • Jackson 实现 Path Data 解析,Sebsatien 完成底层的架构,使得 Sam Ruby 的例子站点上的其他例子可以渲染
  • Jackson 和 Sebastien 实现由于 Path 渲染丢失的不同片段
  • Jason 实现了对 XAML 的支持

6 月 19 日

  • Javascript 桥接 DependencyObject 可用,Javascript 控制的 XAML 时钟事例现在可以运行
  • 实现集合迭代
  • 解决浏览器正常关闭问题
  • Rolf 实现一些丢失的托管绑定

项目的进展确实让人惊讶,在如此短的时间里竟然撰写了超过 3 万 8 千行代码,展示的截屏证明了这一切。在一个应用程序中内置 Moonlight,以让 Linux 应用支持 Silverlight 内容的这个想法令人惊叹。祝贺 Mono 团队,在这么短的时间内就在 Moonlight 项目上取得了如此不俗的成绩!

查看英文原文: Moonlight in 21 days

2007-06-22 08:08612

评论

发布
暂无评论
发现更多内容

chrome调试工具之Console

格斗家不爱在外太空沉思

浏览器 浏览器测试 11月月更

细说React组件性能优化

xiaofeng

React

技术分享 | 如何确保API 的稳定性与正确性?你只需要这一招

霍格沃兹测试开发学社

【愚公系列】2022年11月 微信小程序-日期时间组件封装

愚公搬代码

11月月更

校招面试真题 | 测试流程大概是什么?

霍格沃兹测试开发学社

React Context源码是怎么实现的呢

flyzz177

React

chrome调试工具之Elements

格斗家不爱在外太空沉思

浏览器 11月月更 elements

高频js笔试题看这一篇就够了

helloworld1024fd

JavaScript

通俗易懂的React事件系统工作原理

夏天的味道123

React

这可能是你需要的React实战技巧

夏天的味道123

React

工作多年,技术认知不足,个人成长慢,职业发展迷茫,该怎么办?

霍格沃兹测试开发学社

更轻量的百度百舸,CCE Stack 智算版发布

Baidu AICLOUD

AI工程化 高性能计算 异构计算 百度百舸

从零到一手写迷你版Vue

helloworld1024fd

JavaScript

React-Hook最佳实践

xiaofeng

React

知识蒸馏相关技术【模型蒸馏、数据蒸馏】以ERNIE-Tiny为例

汀丶人工智能

nlp 知识蒸馏 11月月更

React源码解读之React Fiber

flyzz177

React

详解React的Transition工作原理原理

夏天的味道123

React

chrome调试工具之Sources

格斗家不爱在外太空沉思

浏览器 浏览器测试 11月月更

一步步实现React-Hooks核心原理

helloworld1024fd

JavaScript

Spring Boot 实现接口幂等性的 4 种方案

小小怪下士

Java spring springboot

CnosDB 2.0 产品发布会预告:一切为了万物智联,用 Rust 打造云原生时序数据库

CnosDB

时序数据库 开源社区 CnosDB CnosDB 2.0发布会

vue组件通信6种方式总结(常问知识点)

bb_xiaxia1998

Vue

ReactDOM.render在react源码中执行之后发生了什么?

flyzz177

React

数据中台的最后一公里:数据服务

元年技术洞察

数据中台 中台 DaaS

华为云从入门到实战 | 云速建站服务与企业主机安全服务

TiAmo

华为 华为云 11月月更

JavaScript, ABAP 和 Scala 里的尾递归(Tail Recursion)

Jerry Wang

JavaScript 编程语言 尾递归 abap 11月月更

读懂React原理之调和与Fiber

xiaofeng

React

Istio Ambient Mesh七层服务治理图文详解

华为云开发者联盟

云原生 后端 华为云 企业号十月 PK 榜

【LeetCode】二叉树最大宽度Java题解

Albert

算法 LeetCode 11月月更

从 0 开始学 Python 自动化测试开发(二):环境搭建

霍格沃兹测试开发学社

说说前端经常考的手写题

helloworld1024fd

JavaScript

Moonlight项目团队的21天_研发效能_James Vastbinder_InfoQ精选文章