The website uses cookies. By using this site, you agree to our use of cookies as described in the Privacy Policy.
I Agree
Amy An
17 articles
My Web Markups - Amy An
  • 系统线程、线程池、异步任务、任务图以及相关的通知和同步机制
  • Critical section
  • GIsGameThreadIdInitialized
  • GIsGameThreadIdInitialized
  • GGameThreadId
  • GGameThreadId
  • FLightSceneProxy
  • FPrimitiveSceneProxy
  • 游戏线程对象以U开头,渲染线程以F开头
  • 在不同的CPU线程并行地生成Command Buffer指令,最后由主线程收集这些Command Buffer并提交至GPU
  • OpenGL及DirectX10之前版本的图形API,所有的绘制指令是线性和阻塞式的,意味着每次调用Draw接口都不会立即返回,会卡住调用线程。
  • 基于Task的多线程运行机制
  • 最经典的数据并行的应用是MMX指令、SIMD技术、Compute着色器等
  • atomic的实现机制与临界区类似,但效率上比临界区更快。
  • 多非阻塞无锁的线程安全的数据结构和算法
  • 非本地跳转(setjmp 和 longjmp)
  • 内存映射硬件(memory mapped hardware)
  • 虚幻引擎的多线程渲染架构和API中,常出现并行和并发的概念,所以虚幻是明显区分两者之间的含义。
  • 时间片(Timeslice)
  • 线程(Thread)是可以执行代码的实体,通常不能独立存在,需要依附在某个进程内部。一个进程可以拥有多个线程,这些线程可以共享进程的数据,以便并行或并发地执行多个任务。
  • 进程(Process)是操作系统执行应用程序的基本单元和实体,它本身只是个容器,通常包含内核对象、地址空间、统计信息和若干线程。它本身并不真正执行代码指令,而是交由进程内的线程执行。
  • 在编译Unreal Engine工程源码或Shader时,由于它们基本是100%的并行占比,理论上可以获得接近线性关系的加速比,在多核系统中将极大地缩短编译时间。
  • 当可并行任务占比为50%时,16核已经基本达到加速比天花板,无论后面增加多少核心数量,都无济于事;如果可并行任务占比为95%时,到2048个核心才会达到加速比天花板。
  • Amdahl's law(阿姆达尔定律)
  • 单核计算频率摩尔定律的缓慢终结
25 annotations