H5&CSS Basic —— 030. Using WebAssembly (Not translated)
»
001. Free HTTPS Certificate
002. About The Column
003. Visible Area of Browser
004. Why ReactJs
005. Prohibit mobile scaling
006. EM in H5
007. Space width in page
008. H5 Special Characters
009. H5 Restricting Input
010. H5 Font
011. nginx redirection configuration
012. Text Indentation
013. Flex Layout
014. Gradient Borders
015. Common DOM Operations
016. Media Query
017. CSS Selectors
018. CSS alternate lines color
019. fetch
020. JS Attributes Operation
021. scroll div
022. JS for Loop
023. Prohibit Text Selection
024. Precision Controled Float Output
025. Ionic Full Screen
026. SVG Circle
027. SVG Ellipse
028. SVG Arc
029. SVG Elliptical Sector
030. Using WebAssembly
031. JS Checklist checkbox Operation
032. SVG Bezier Curve
033. Threejs Material
034. Luminous Image Styles
035. Web Animation Points
036. CSS Gradient Fonts
037. SVG Rectangle
038. Development Ability for Remuneration
039. Close Browser Default Style for Input
040. Jet Tail Particle Animation
041. Prohibit Desktop Browser Scaling JS
042. Desktop Full Screen Web CSS
043. Display images in self scaling aspect ratio div
044. Bi-side Text Alignment Styles
045. Single line ellipsis
046. Multi-line ellipsis
047. Font Transformation Styles
048. Remove default style of a tag
049. Chinese Characters: Full Width Space
050. DIV lays on DIV
051. Calculating 1rem Pixel Values in JS
052. JS Operations of DOM Parent Nodes and Adjacent Nodes
053. Absolute Coordinates of DOM Elements in JS
054. ToolTips Div
055. Height and Width in JS
056. Nginx configuration for stream media
057. Scroll Bar Style
058. Common Methods for JS Array Operations
059. SVG Fill Style Definition
060. SVG Stroke Style Definition
061. SVG Drawing Lines
062. CSS Background Images Splicing
063. WebSocket
064. JS Calculate DPI
065. GIF Opacity or not
066. Nginx solved CORS problem
067. Look At JsonP before publish
068. Center and Middle Content in Div
069. CSS background image size keeping ratio
070. CSS Frame Animation
071. CSS Same Width Font Display
072. Package
    十分感谢朋友的提示。做完首页SVG的动画后,感觉效果不是特别好。于是,开始动手把3D地球模型用three.js做到网页里(百度搜到的方案)。
    做完第一版后,发现JS操作粒子效果的效率特别低。于是,开始琢磨以前体验过的在线WebAssembly游戏是怎么实现的。
    起初,以为WebAssembly与WebGL是两个浏览器支持的高性能框架,应用于不同的场景。
    在搜索到很多在线游戏网站并且查看页面源代码url后,忽然明白了WebAssembly是WebGL的最佳搭配,是适用于WebGL动画操作的高性能计算框架,是解决JS性能问题的关键。
    于是,新版本采用了计算与图形渲染分开的方式。不再使用JS来计算粒子Mesh中各个粒子的位置。而是采用C++编译的wasm来计算粒子的位置,并且通过暴露WebAssembly的内存区域给JS,来实现JS中的数组的不重新创建。
    Web是单线程的,所有的计算都在UI线程中完成,所以,使用wasm带来的性能提升是巨大的。
    
    后续,也发现了很多游戏操作物体模型时,物体模型会停止变化的原因。在用户操作物体对象时,停止物体对象的粒子效果等效果,能够巨大地提升用户操作的流畅性。这一程序设计方法使得用户操作对象的体验改善很多很多。直接感觉就是不再卡顿。
    ————www.v-signon.com学习者共勉
                        
«
--Alex.Zhang
--www.v-signon.com Learningers Co-Encouraged
Back
Personal Art: www.up-task.com Unit: Individual
中文 Русский 京ICP备19038994号-2
If the content on this website infringes upon your any rights, please contact me at 1307776259@qq.com for removal