0%

Tech Art

方向

  • 渲染向 自研/二开引擎 材质 光追 抗锯齿
  • 动画 动作绑定
  • 特效 粒子
  • 管线向 流程 易用性开发
  • 美术

sketchfab模型库

unity -> ASE -> shader

上海F4 米哈游 叠纸 莉莉丝 鹰角

UE vs Unity

  • 图形质量和性能:Unreal Engine在图形渲染和视觉效果方面具有较高的品质,提供更高的渲染质量和更好的性能。Unity也可以实现出色的图形效果,但相较而言,Unreal Engine在这方面更具优势。
  • 编程语言和学习曲线:Unity使用C#作为主要的编程语言,而Unreal Engine使用C++和Blueprints。C++相对较难学习,而Blueprints提供了一种无需编写代码即可创建逻辑的可视化编程方式。因此,Unity在学习曲线上可能更易上手。
  • 跨平台支持:Unity在跨平台支持方面更为出色,可以轻松发布到多个平台,包括移动设备、PC和主机。Unreal Engine也支持多种平台,但在跨平台发布上可能比Unity稍显复杂。
  • 社区和文档:Unity拥有庞大的社区和丰富的文档资源,可以方便开发者学习和解决问题。Unreal Engine的社区也很活跃,但相较而言,Unity的资源更为丰富。

总体来说,选择使用Unreal Engine还是Unity取决于项目的需求和开发者的个人偏好。如果追求高质量的图形效果和性能,以及想要更多的定制和控制权,那么Unreal Engine可能更适合。如果希望快速上手、轻松发布到各种平台,并且喜欢使用C#编程语言,那么Unity可能更适合。

OpenCV Halcon
开发语言 C++、C#(emgu)、Python、Ruby、MATLAB等语言 C,C++,C#,Visual basic和Delphi等语言
应用场合 侧重计算机视觉领域,侧重研究领域 侧重机器视觉领域,侧重应用领域
费用 免费 收费
开放性及版本更新速度 开源(可看底层源码),版本和功能更新慢 商业软件(底层代码封装),版本和功能更新快
对使用者的门槛 偏科研,有难度,有深度,完全从底层开发,对使用者门槛高,开发效率低,开发慢 偏工程应用,使用封装好的功能函数,对使用者门槛低,开发效率高,开发快
资料及技术支持 资料少。遇到问题,难以获得技术支持 资料多。遇到问题,可以及时、有效的获得技术支持

硕士研究生学习机器视觉,halcon显然比opencv强太多,那么还有学习opencv的必要吗? - mwwz的回答 - 知乎
https://www.zhihu.com/question/447956881/answer/2782307466

begining at this moment when Nvidia’s stock price was soaring 英伟达的股票飞涨不因为他生产的显卡,而是如今的人们开始意识到计算机运算势必会越来越多地以GPU并行量子运算地形式进行

黄仁勋高超的前瞻眼光,高薪聘用伊恩·巴克(Ian Buck),并在2006年,NVIDIA正式发布了CUDA。CUDA是建立在NVIDIA GPU上的一个通用并行计算平台和编程模型,它的设计旨在让开发者能更容易地利用GPU的并行计算能力来加速原本由CPU处理的复杂计算任务。

CUDA(Compute Unified Device Architecture)提供丰富的api及范例以便开发人员将

Node.js 是一个开源的、跨平台的 JavaScript 运行时环境。

所谓运行时runtime,是指程序声明周期中从开始执行到完成退出的阶段,除了运行时,还时有提及的编译阶段是 compile time,链接阶段是 link time,在前面的阶段预先做了通常在后面才方便做的事叫 ahead of time

Node.js 是一个异步事件驱动运行时 (asynchronous event-driven JavaScript runtime) 与

线程

Q: java线程池和cpu线程数的关系

文心一言:Java线程池与CPU线程数之间的关系主要体现在线程池如何根据系统的需求和硬件环境灵活地控制线程的数量,以及如何通过线程池管理线程来提高系统的运行效率并降低系统的运行压力。

首先,线程池通过在初始化时创建一个线程集合,然后在需要执行新任务时重用这些线程,而不是每次都新建线程。这种方式减少了线程的创建和销毁开销,从而提高了系统的性能。

其次,线程池可以控制并发的线程数量,这有助于避免因为线程数量过多而导致的系统资源耗尽或性能下降。线程池会根据任务的提交情况和系统的负载情况,动态地调整线程的数量,确保系统的稳定运行。

在Java中,线程数通常模拟的是CPU的核心数,但需要注意的是,线程数并不等于CPU的物理核心数。一个CPU核心可以对应一个或多个线程,这取决于是否使用了超线程技术。通过超线程技术,一个物理核心可以模拟出两个逻辑线程,从而提高了CPU的并行处理能力。

在设置线程池的大小时,需要考虑任务的性质。对于CPU密集型任务,如加密、解密、压缩和计算等,最佳线程数通常是CPU核心数的1~2倍。设置过多的线程并不会提升性能,反而可能导致性能下降,因为过多的线程会导致不必要的上下文切换。

另一方面,对于耗时IO型任务,线程池的大小可能需要更大,以充分利用系统的IO能力。但是,这仍然需要考虑到系统的整体负载和资源限制。

总的来说,Java线程池与CPU线程数之间的关系是一个动态平衡的过程,需要根据具体的任务需求、系统负载和硬件环境进行灵活的调整和优化。

32位/64位操作系统

32位、64位指的是CPU的GPRs(General-Purpose Registers,通用寄存器)如今计算机CPU基本上都是64位架构,运算能力是一次性64bit的整数运算,支持64位地址寻址和更大的内存

当代码编译成exe时,x86平台编译出来的exe(可执行文件)或dll(动态链接库)都是32位的。类似的,x64对应的则是64位的。

x86平台下编译的应用程序,而它所依赖的一个项目(或动态链接库)是由x64位平台编译出来的,则会提示“未能加载文件或程序集…或它的某一个依赖性。试图加载格式不正确的程序。”之类的错误。这是因为32位程序不能加载64位的dll,更不能调用其中的类、方法和对象等。

如dotnet publish -f win-x86 打包的wpf应用,在已装有vcredist x64的计算机上无法启动,查看windows evnet viewer可看到.net运行时报错:
CoreCLR Version: 6.0.2523.51912
.NET Version: 6.0.25
Description: The process was terminated due to an unhandled exception.
Exception Info: System.IO.FileNotFoundException
而安装vcredist x86后修复

Material UI

Bootstrap

Ant Design

Elastic UI

Elastic UI 框架 (EUI) 是 Elastic 使用的一个设计库,用于构建需要分享我们美学的内部产品。它分发 UI React 组件和静态资源,用于构建 Web 布局。
使用高对比度、色盲安全调色板,并通过大多数辅助技术进行测试。
可配置性足以满足各种环境的需求,同时保持品牌和低级别的一致性。

作者:快跑啊小卢_
链接:https://juejin.cn/post/7296345202238636072
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

REAVIZ

REAVIZ 是一个模块化图表组件库,它原生利用 React 来渲染组件,同时在底层使用 D3js 进行计算。该库提供了一种简单的方法来开始创建图表,而无需牺牲定制能力。

ArcoDesign

ArcoDesign 是由字节跳动 GIP UED 团队和架构前端团队联合推出的企业级设计系统,打磨沉淀 3 年之后开源,ArcoDesign 与 TDesign 开源也就是前后脚的事,让我们通过这两套开源组件,看到大厂在前端完备的设计理念和工整的生产流程。
这套 UI 库,基于 ArcoDesign 设计规范,Arco 同时提供了 React 和 Vue 两套 UI 组件库。

Semi Design

Semi Design是由抖音前端团队,MED 产品设计团队设计、开发维护的设计系统。它作为全面、易用、优质的现代企业级应用解決方案,从字节各业务线的复杂场景提炼而来,服务字节内外部 10 万+用户。经过近两年的迭代,在各类不同形态的业务落地验证后,Semi Design 已成为跨部门级的基础设施,围绕组件库形成丰富的工具链和生态。

Growth Mindset 成长思维, 是一个重要的心理学概念。斯坦福大学的行为心理学教授Carol S. Dweck是这一概念的提出者。她认为人的思维模式主要分为两种:成长型思维和固定型思维。

拥有固定型思维的人认为,人的特质和能力是天生的,后天无法改变。而拥有成长型思维的人则认为,任何能力和技能都可以通过后天努力而得到发展。他们更乐于接受挑战,并且积极提升自己的能力和技能。这种成长型思维的人更加坚韧,对挑战持积极态度,并相信自己的能力可以通过持续努力而提升。

相较于固定型思维模式公司的主管,成长型思维模式公司主管对员工的评价明显更为正面。他们更倾向相信其雇员有管理潜能,并赞扬员工富有创新精神,善于与人合作,并且笃实好学,努力成长。

总之,Growth mindset是一个积极的概念,它鼓励人们以开放和发展的眼光看待自己和他人,相信能力和技能是可以通过努力和学习来提升的。这种心态对于个人的成长和发展,以及组织的繁荣和成功都具有重要意义。

ENOENT
“error no entry” 通常是 “No such file or directory”

应用及案例

Qt是跨平台UI框架
WPS Autodesk Maya 极品飞车是Qt开发的
医疗设备软件选择Qt开发 缘于极致性能及可靠性

slot vs signal

  • connect
  • function

Qt creator

Delegate Model

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
ListView {

id: listview

Layout.fillWidth: true

height: 80

orientation: ListView.Horizontal

spacing: 15

displaced: Transition {

NumberAnimation {

properties: "x,y"

easing.type: Easing.OutQuad

}

}

model: DelegateModel {

id: visualModel

model: selectedItems

delegate: DropArea {

id: delegateRoot

width: tt.width

height: tt.height

onEntered: function (drag) {

visualModel.items.move(drag.source.curIndex, tt.curIndex)

}

property int visualIndex: DelegateModel.itemsIndex

DraggableIcon {

id: tt

dragParent: listview

curIndex: delegateRoot.visualIndex

sourceImg: source

keyImg: key

}

}

}

}