Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
KOBA789 Իͷग़ΔCPU Λ࡞͍ͬͯΔ్த
Slide 2
Slide 2 text
·ͣ༧ઢΛுΒͤͯ͘Εʂ ͜ΕٳܜλΠϜͩʂʂʂʂʂ
Slide 3
Slide 3 text
KOBA789 • ύιίϯΦλΫ • ࠷ऴֶྺߴଔ • ݱࡏແ৬ʢਓੜͷय़ٳΈʣ • ࣗ࡞ DBMS Ͱɺ୭ʁ
Slide 4
Slide 4 text
https://diary.hatenablog.jp/entry/2020/11/16/222203
Slide 5
Slide 5 text
ࣗ࡞DBMSͷ͠·ͤΜ
Slide 6
Slide 6 text
CPUͷ͠·ͤΜ
Slide 7
Slide 7 text
ࠓͷ༰ • ʢͳΜΒ͔ͷʣγϛϡϨʔλͷ • WebAssemblyʢΛ͏ଆʣͷ • WebGL ͷ • Rust ͷ ͥΜͿଞͷొஃऀ͕ৄ͘͠ ͬͯ͘ΕΔΜ͡Όͳ͍͔ʁ
Slide 8
Slide 8 text
ۙࣗ࡞ CPU ͕Ξπ͍ CPUΛࣗ࡞ͨ͜͠ͱ͕͋Γ·͔͢ 50% 50% ͍ ͜Ε͔Β࡞Δ ※શͳໝͱओ؍ʹجͮ͘σʔλ Զ࡞Γ͍ͨ
Slide 9
Slide 9 text
ʮCPU ͷݪྉͬͯγϦίϯͳΜͰ͢Αʂɹ ҙ֎ʹ͜ΕΒΕͯͳ͍ΜͰ͚͢Ͳʯ
Slide 10
Slide 10 text
ʮCPU ͷݪྉͬͯγϦίϯͳΜͰ͢Αʂɹ ҙ֎ʹ͜ΕΒΕͯͳ͍ΜͰ͚͢Ͳʯ ৗࣝ
Slide 11
Slide 11 text
ʮCPU ͷݪྉͬͯγϦίϯͳΜͰ͢Αʂɹ ҙ֎ʹ͜ΕΒΕͯͳ͍ΜͰ͚͢Ͳʯ ৗࣝ ͨͯ͠ ͦ͏ͩΖ͏͔
Slide 12
Slide 12 text
CPUಋମҎ֎Ͱ࡞ΕΔ ཧճ࿏ΛߏͰ͖Ε ૉࢠͳΜͰ͍͍ ͔ͷ༗໊ͳ&/*"$ਅۭ
Slide 13
Slide 13 text
ͦͦ ಋମͰ࡞ͬͨ$16 ಈ͍͍ͯΔͷ͔Ͳ͏͔Α͘Θ͔Βͳ͍ େࣄͳܭࢉΛ͍ͯ͠Δͷʹ ྗ͕ײ͡ΒΕͣɺ͚͔͠ΒΜ
Slide 14
Slide 14 text
No content
Slide 15
Slide 15 text
͜͜ʹɺ খֶੜͷͱ͖ʹळ݄Ͱങͬͨ ϦϨʔ͕ݸ͋Δ
Slide 16
Slide 16 text
͜ͷϦϨʔͰ$16Λ࡞Ζ͏
Slide 17
Slide 17 text
ϦϨʔͱ ి࣓ੴͰమ൘͕ ٵ͍دͤΒΕΔ ૉͳΈ εΠονϯάૉࢠͷͻͱͭ
Slide 18
Slide 18 text
ϦϨʔͱ ཧతͳՄಈ෦͕͋ΔͷͰ ಈ࡞Ի͕͢Δ ָ͍͠ʂʂ
Slide 19
Slide 19 text
ϦϨʔಛ༗ͷࠔΓ͝ͱ • ௨ৗͷཧճ࿏΄Ͳݟ͕ڞ༗͞Ε͍ͯͳ͍ • ཧѹॖͷίπͱ͔Θ͔Βͳ͍ • ։ൃʹศརͳπʔϧͳͲϩΫʹͳ͍ • γϛϡϨʔλͱ͔ͳ͍ • ͕Μͬͯϋϯμ͚ͯ͠ಈ͔ͳ͔ͬͨΒͱͯ൵͍͠
Slide 20
Slide 20 text
·ͣճ࿏$"%Λ࡞Ζ͏ʂ $"%Λ࡞Δͷָ͕ͯ͘͠$16Λ࡞ΔͷΛΕͨ
Slide 21
Slide 21 text
͜͜Ͱࢥ͍ग़͢γϦʔζ
Slide 22
Slide 22 text
https://www.youtube.com/watch?v=KiHpyP5UhyE
Slide 23
Slide 23 text
લʹಉ͡Α͏ͳൃදΛ͍ͯ͠Δ https://www.youtube.com/watch?v=KiHpyP5UhyE
Slide 24
Slide 24 text
https://www.youtube.com/watch?v=jYJ31SrxCEE
Slide 25
Slide 25 text
https://www.youtube.com/watch?v=jYJ31SrxCEE ཌʹಉ͡Α͏ͳ ൃදΛ͍ͯ͠Δʂʂ
Slide 26
Slide 26 text
ࡾͷਖ਼
Slide 27
Slide 27 text
ࠓճ͍ͮΒ͍ γϛϡϨʔλ͚ͩͰͳ͘ɺ $"%࡞ͬͨ
Slide 28
Slide 28 text
͓ॻ͖ • γϛϡϨʔλΛ࡞Δ • Ͳ͏ͬͯϦϨʔճ࿏ͷγϛϡϨʔγϣϯΛ͢Δ͔ • CADΛ࡞Δ • ճ࿏CADΛ60fpsͰψϧψϧಈ͔͢ • Rust, WebAssembly, WebGL…… • σϞ CPU࡞Δͱ͜Ζ·Ͱ ؒʹ߹Θͳ͔ͬͨͶ
Slide 29
Slide 29 text
γϛϡϨʔλΛ࡞Δ
Slide 30
Slide 30 text
ి࣓ϦϨʔͷճ࿏ • ίΠϧͱΛͭͳ͍Ͱ࡞Δ • ίΠϧͷยଆඞͣGNDʹ͢Δ • ઈରʹγϣʔτ͠ͳ͘ͳΔ • γϛϡϨʔλ࡞Γ͍͢ ίΠϧ
Slide 31
Slide 31 text
ి࣓ϦϨʔͷճ࿏ • ճ࿏ • ͭ·Γάϥϑ • ిؾ͕ྲྀΕΔ • ͭ·Γ࿈݁
Slide 32
Slide 32 text
ి࣓ϦϨʔͷճ࿏ ࿈݁ʹ ిݯ͕͋Δ͔
Slide 33
Slide 33 text
ͱ͍͏Α͏ͳ͜ͱΛRustͰదʹॻ͘
Slide 34
Slide 34 text
CADΛ࡞Δ
Slide 35
Slide 35 text
CADʹٻΊΔͷ • ॻ͍ͨճ࿏ਤ͕ͦͷ··ಈ͍ͯ΄͍͠ • ಈ͘ճ࿏ਤΛ৮ͬͯ༡ͼ͍ͨ • ڊେͳճ࿏ਤͰ60fpsͰψϧψϧಈ͍ͯཉ͍͠ • ճ࿏ن͕େ͖͘ͳͬͯγϛϡϨʔγϣϯͳΊΒ͔ʹ
Slide 36
Slide 36 text
ΠϚυΩͷGUIͱ͍͑ϒϥβ ReactͱTypeScriptͰόʔϯͩͥʁ • ཁૉ͕૿͑ͯ͘ΔͱDOMͰ͗͢Δ • TypeScript(JavaScript)Ͱ࠲ඪܭࢉΛ͠·͘ΔίʔυΛॻ͘ͷ ͋·ΓʹΩπ͍ • ԋࢉࢠͷΦʔόʔϩʔυ͕ͳ͍ͷͰඇৗʹʹѱ͍ίʔυʹ • ͋ͱɺͬͺ͍
Slide 37
Slide 37 text
RustͰ WebAssemblyͰ WebGLͩʂ
Slide 38
Slide 38 text
WebGLͱ ߴϨΠϠͳͷͰҰԠ • JavaScript͔ΒOpenGLͷΑ͏ͳͷ͕ୟ͚ΔAPI • ༨ܭͳͷ͕ʢൺֱతগͳ͘ʣ͍ • ΄΅OpenGL͕ͦͷ··࿐ग़͍ͯ͠Δ • JSͷΑ͏ͳεΫϦϓτݴޠͱͷ૬ੑ࠷ѱ • ͜ΕΛJSͰ͏ਓ͔ͳΓྗ͕͋Δ • RustͰ͏͖
Slide 39
Slide 39 text
WebGL(OpenGL)Ͱ2DάϥϑΟοΫε • OpenGLͰ͝ଘ͡ͷͱ͓Γࡾ֯ܗ͔͠ॻ͚ͳ͍ • ԁʁͱ͔ॻ͚ͳ͍ • ઢࡾ֯ܗΛ2ຕ͏ • จࣈॻ͚ͳ͍ • ؾ߹͍Ͱશ෦࣮͢Δ • 60fpsͷͨΊͱࢥ͑ͭΒ͘ͳ͍
Slide 40
Slide 40 text
Immediate mode GUI • εςʔτϨεͰɺຖϑϨʔϜશ෦ඳ͖͢ • ϏοτϚοϓΛࠩͰ͍ճͨ͠Γ͠ͳ͍ • ήʔϜΤϯδϯͳͲͱ૬ੑͷ͍͍GUIΞʔΩςΫνϟ • Dear ImGuiUnityͷIMGUI͕༗໊ • ࠓճͷCADͰ͜ΕΛ࠾༻
Slide 41
Slide 41 text
ຖϑϨʔϜඳ͍ͨΒ͘ͳ͍ͷ͔ • ݱͷGPUࣗମ͍ • GPUCPU͔ΒRPCͰૢ࡞͢Δ • RPCͷίϚϯυൃߦ͕࣌ؒ৯͏ • ίϚϯυΛΕΞϗ΄Ͳ͍ • ͍Ζ͍ΖςΫ͕͋Δ
Slide 42
Slide 42 text
σϞ
Slide 43
Slide 43 text
ࠓޙͷເ • subleqͷΑ͏ͳʢ໋ྩηοτ͕ʣখ͍͞ΞʔΩςΫνϟΛ࣮ͯ͠Έ͍ͨ • ωοτϦετు͚ΔΑ͏ʹͨ͠ͷͰɺ ϓϦϯτج൘ͷΞʔτϫʔΫΛ͓࣮ͯ͜͠ػΛ࡞Γ͍ͨ