|
|
?2018TGDC??????Epic Games?????????????????UE4??????????????????????10????????????console??????PC?MMO????????????????????Epic Games China????????????????????????UE3?UE4??????????????????
???????????Epic Games?????????????????????????????????????????????????????????????????????????????????????????????????????????UE4?????????????????
???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
?????????????????????????????????????????????????????????????????????????????LOD???????????????????????????????????????????????
?????????????????????LOD??????????Significance Manager?????????????Bucket???????????????????????????????????????????????????????????????????????????????bucket??????????????????????????????????????????Bucket???????????Bucket??????????LOD???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????Bucket????????????????Bucket?????????????????????????????????????????????????????????????????????Device profile????????Bucket????
????????????????????????????????????????????????????????????????????????????????????????????????Fortnite??????????????????50V50??????????????????????50??80?????????????????????????????????????????????????????????
???????????????????????????????????????????????Mesh???????????????????????????????????????????????????????????Fortnite??????????????????????????????????Socket???????????????Master Slave?????????????????????????????????????????????????????????????????????Master??????????????Master???????????????Master Skeleton?????????????????????????????????????????????????????Copy Pose?????????????????????????????????????????????????????????????????????????????????????????????????setup?????????????????????????LOD???????????????
???????????????????????????????????Event Graph???UE4????????????Event Graph????????????????????????????????????????????????Event Grape??C++?????????
?????Anim Graph???????????????????????????????????????????IK????????POSE????????????????????????????Graph?????????????????????????????????????????????????????????????????????????????????????????????????Fast Path???????????????????????????Fast Path???????????????
??????????????????????????????????????????????????????????????????????????????????????????Event Graph?????????????AnimInstanceProxy?????????????Event Graph????????????????????Fast Path??????????update?evaluation???working thread???????50????????????????????????????????????
???????????????????????????????????????????????????????? Tick pose??????Singnificance Manager??????????????????????????????????????????????
???????????????????????????????Dynamic Path??????????????????????????????????Drawing Policy???????????????????????????????????????InitViews?????????????????????????????????????????????????????????????????????????????????????StaticRenderPath????????????
URO?Update Rate Optimization?????????????????????????????????????POSE?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
??????????????????????????LOD???????AnimGraph???????????????LOD????????IK??????
????????????????????Scene Component?Scene Component????????????????Transform????????????????????????????????????????????Scene Component???????????????????Scene Component??????????????????????????????????????????????????Scene Component????????
??Auto Manage Attachment,?????????,???????????????????????Scene Component???Detach????Transform???????
?Scene Component????????????Overlap????????????????????Overlap???????????????????????????Overlap????????????????????????????????Component????overlap??????????????????Overlap?????????????????????????Overlap?????????????????????????????????????????????????????????????
Character Movement???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????Significance Manager?Bucket??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
Physics??????????????Physics??????????????????????????????????????????volume????????????????????????????????????????????Query??????Simulation?????????????????????????????????????????????????????????????????????????????????Physics????????????????Shared Shape?????Async Scene???????????????????????scene?????query?
??????????mesh????????Shared shapes????????????????????????????????????????????????????????????????Mesh???????????????PhysX Scene??????????????????????????Mesh?????????????????????????????????????????????????????????????????????????????????????????????????????Component?Actor??????Streaming Level??????????????????????????????????????????????????????????????????????????????????????????NvCloth?lib???????????????
Ticking???????????????????????????????GamePlay???????Event Graph?Tick?????????????????????Tick???????????????????????????????????????C++??????????Tick????????????????????????????????????????????????????????Tick??????????????
????????TextureStreaming??????????????????????????????????????????GPU?????????????Wanted Mip????????????????????????????Texture Streaming?????????
UI?????HUD????UI????????????????????????????????????????SlatLayoutCaching?Invalidation Box?Cache Prepass??widget transform????????Cache????????????????????????Buffer Cache??????????????UI?Widget??Batching?????????????????????????Horizental?Vertical Box?Grid????????????????????Batch???????????Canvas Panel???????????????????????Implicit Zorder????????????????Widget??????????????ZOrder???Batch????????????????????????????????????????????????????????????????????????Texture Altas?????????????Vertex Color??Vertex Shader???VC????uv???????????Batching???
????????????????????????????????????????????????????????????????????????????????????SoundCue????????SoundSource??????SoundSource??????????16????????32???????????SoundCue???????SoundWave????????????????????????????SoundWave????????????????????????????????????????????????????????LOD????????????CPU?????????Reverb?EQ???????????Wave?????
Particle????????Overdraw????PC????????Alpha?????????Overdraw????????????????????????????????SRV?????????????????????????????????????????RenderPass????????upscale?????overdraw??????fragment????
Level Streaming?????Level Streaming?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????Level Streaming?????????
IO?????????Worker thread?????????????????Event Driven Loader??IO?Deserialization?????????????????s.AsyncLoadingThreadEnabled?????ALT????????Postload???????????????????????????????????Time Slice???????????????PostLoad????????????????????ALT???????Level Streaming????
???????????????????????????????????????Replication Graph?????????ServerReplicateActors????????????PerConnection?PerActor?relevancy??priority????????Net Actor???????????grid????????Connection?????Grid?????????????Replication????????????Connection???????????Cache????replicate?????????connection??????????????????????????CPU???replication????????1/4?
?????????????????????Net relevancy distance?????????RPC???????????????????????????????RPC??????????????????????????????
?????????????????????????????????????????????Server????????????????????????????Component?Server????
?????????????????????????????????????????????????????????????????????????????????????Primitive???????????????????????????????????????????????Streaming Level????Scene Tranversal?????????????????????????????????????????????????????????????????????????Static Render Path?????????
??????????Culling???????Precomputed visibility Volume????????????????????????????runtime???????tradeoff?????????????????????????????????????????Culling???????occlusion??????????????ES3.1????????Hardware occlusion query??3.1????????????Software occlusion??????????????????????????????????????bounds transform?CPU????????occlude??????
???????????????Draw Calls???DC????????????????foliage????????????????????????????HISCM???gpu instancing????DC????????????HLOD??????Mesh????????????Proxy Mesh?????LOD????????????Mesh???????????Draw Call???????????HLOD????????LOD???????DrawCall????????????????????????????
Dynamic Instancing?????????????????Studio????????????????????????pipeline?????????????????????????Dynamic Instancing??????????????instancing?????????????????
?????DrawCall?????????????????????????????Drawing Policies?????????????Drawing Policies?????????????????????????????????????????????????????????????????gpu?overdraw????????mesh draw command pipeline????????????????????????????????????????????????????????????????????????????????????cpu?????????????????????GPU??
RHI Thread??OpenGL ES??GraphicAPI??????glcontext???????????????gl command?enqueue?????RHI Thread??????????????????????????????????????????????frame time???????????????????????????????????????
????????????Hitches??????????
Loading????????streaming level?????????????????????????????????????????????Flush??????????????????????????????????????????????????????????????????????Actor????????Actor Channel??????Spawn Actor??????????????????flush?????????????net.AllowAsyncLoadingEnabled?????????????????????Actor Channel????????????pending???????????????????????????
Compile Shader???ogl es?????shadercache????????ShaderCache??????????ShaderPipelineCache???????????????????????????????Shader???????????Log????Runtime?????????log????????Compile????runtime??compile?????????compile????????ProgramBinaryCache????????link??program????????????Shader??????????link program????????program????????compile?link????????shader code??????????????compile???cache?????warmup???????????????????????
Spawning???spawn??????????components???????????C++?Component?????BP components?????????????????cook????components???????????????spawn????????????????????Component?????????????????????spawn????????pooling?????????Actor?Spawn???????
GC????????????????????????destruct???????????BeginDestroy?????Destroy???????????????????????????????????????render fence???????????????????purge????????????GC???????????????????????????????????????????????????????????????????????????????????????????????????????????MaxObjectNotConsideredByGC??????????????????????????????????Clustering?????????????????Clustering?????????GC????????????????????BeginDestroy??????GC???????
???????????GPU?
????????????????MobileContentScaleFactor??BackBuffer????????????r.ScreenPercentage????3D??????????????????GPU???????????????pixel shader bound????????????????????????SceneColor??????HDR?????FP16?RGBA????????????r.Mobile.SceneColorFormat????R11G11B10??RGBE??????????????????????????DepthBuffer????DepthStencil fetch???????????????????Depth??SceneColor?A???????R11G11B10?????????????????????feature?????
??????shader??????????Quality Switch?????????????????????????fully rough?non metal????????????????????????shader permutation???????????????
Shadow????????Modulate shadow???????????????????shadow volume????????shadow map?????????????????????????????CSM???????shadow???????????????????????????Device Profile???????????????shadow???????????PCF filtering????????filtering??????
Landscape????????????????????LOD????????????????????????shader???????????????????????????????????????????weightmap?normal??????????????????????????????????pixel shader???????????????????????
Base Pass pixel shader?????????????sky light?refleciton?????????Specular???GGX???GGX?????????NoH??1??????????????????????MobileBasePassPixelShader??????????????????????????IBL??lightmap??shadowmap????
??????????????????????
Mask???????????????????depth????????clip/discard????earlyz???????overdraw????????prepass?mask?basepass?z equel?????????LOD transition????LOD??????????????LOD???????????dither?mask???????????????????mask?????????LOD???dither?????Stencil??BasePass??stenciltest??????discard?
??????????
????????????????????????????Bucket???????????????????????Memory Bucket???
??Streaming Level?????????????????Texture Streaming???????????IOS???????Apple?GL????????????????????????????????????cpu?????bounds????????????????uv scale?????????tweak?scalar???????????mip?????r.Streaming.PoolSize?????????????????????Budget?
Shader code??????Shared Shader code?????????????????Shader???????????Shader code??ShaderLibrary????MaterialInstance?????ShaderCode?GUID?????????ShaderCode?????????????80%????????rendering????????????????????shader????????
RHI?UI???????????????????CDO?Class Default Object??????GC????????????????????????Slate altas Size?????????????????????GPU Particle????????fx.AllowGPUParticles??????????128?1024?RT?gpu particle?position?velocity????60????????FSlateRHIResoureceManage?FrenderTargetPool?polling????????????????????????????????????????
?????????????UniformBuffer???????gles??????????????????????????ES3???pack??UniformArray????
?????????????????????????????????clang?TCHAR?4?????????????????????????????????
?????????????????????????
?????????scalability????????????????????Scalability Group???????????????????????????????????????????????????????????Device profile?????????????????????scalability???????????????????????
?????Device Profile????iPhoneX???????iPhoneX???????IOS????????override??ios??????IOS??IOS????????Profile??????????????????????Device Profile??????????Selector?????????????????????????SoC?GPU Family?Device Module??GL Version??
????????Iterating??????????????Cook?cook???????????????????????????????????????????????????????????commandlet???server??????????????????????????????cook?????????????????cook on the fly??????????????????????-iterate?????????????load???save????????????????????????DDC?Derived Data Cache??????????????????????????-iterate??????????????????load+save????ini??????????????????????cook???????load/save??????????????????????????????????????????cook?????????????????????????????????????????????push??UE4Commandline.txt????????????????????
Debug?????????????????????????Android Studio?debug?????debug native?java????native?????????vs????UBT?????build.gradle???Android Studio???????????????android studio?????debug??????????
Profiling???gpu????profiling?????gpu????????????????????????stat???????showflag???????????????cpu?profiling?????????????????????framepro??????????overhead???namedevent?profiling??????????????????Profiling?????????????profiling???????Memreport?llm???????Memory Profiler?????????????????????????????
???????????????
|
|