คนทำงานเว็บสำหรับการจำลองทางฟิสิกส์ของเกม HTML5 หรือไม่?


12

มีความเกี่ยวข้องกับคำถามนี้เล็กน้อย

ความคิดคือการรับประกันพฤติกรรมทางฟิสิกส์เดียวกันให้มากที่สุด เป็นไปได้ไหมที่จะใช้ฟิสิกส์ขั้นตอนเวลาคงที่บนเว็บเวิร์ค UI จะอัปเดตตัวเองด้วยอัตราการรีเฟรช / ตัวแปรที่แตกต่างกัน

มีใครลองเช่นนั้น?


คุณคิดว่าจะได้อะไรจากการใช้งานเว็บ? จนถึงตอนนี้คำตอบของฉันก็คือว่าจะใช้งานได้ แต่ทำไมต้องกังวล?
aaaaaaaaaaaa

คำตอบ:


3

ฉันพบการทดลองนี้ มันทำงาน Box2d ฟิสิกส์บนเว็บเวิร์ก ฉันยังไม่ได้ตรวจสอบในรายละเอียดว่าจะแก้ไขปัญหาที่กล่าวถึงในความคิดเห็นของ Vincent Scheib ได้อย่างไร


การทดลองที่ดี ฉันได้ติดตามโครงการประเภทนี้ด้วย น่าเสียดายที่ส่วนใหญ่ยังคงเชื่อมโยงกับ Java / C ฉันเชื่อว่า OP กำลังมองหาวิธีที่จะดึงสิ่งนี้ออกจากเบราว์เซอร์ (ไม่มีปลั๊กอิน)
Kevin Peno

2
บทความเกี่ยวกับเรื่องเดียวกันโดย google guy: t.co/AuhPptB
sorenbs

2

ซึ่งอาจทำงาน แต่WebWorkers ตามรูปแบบการสังเกตการณ์การdocument(หน้า html ที่เป็นเจ้าของคนงาน) เท่านั้นที่สามารถรับฟังและโพสต์ข้อความไปยัง / จากคนงาน จากนั้นมีตัวเลือกน้อยฉันเดา ในทุกกรณีฉันคิดว่าคุณจะต้องหาวิธีที่จะหา FPS ที่ดีที่สุดของตัวแทนผู้ใช้เพื่อหาข้อมูลที่เหมาะสม จากนั้นคุณสามารถ:

  • บอกให้คนงานโพสต์ข้อความในช่วงเวลานั้น
    • ข้อเสีย: คุณต้องคิดว่าdocumentจะพร้อมสำหรับการตอบสนองเมื่อมันเกิดขึ้น
  • บอกdocumentให้ส่งข้อความไปยังผู้ปฏิบัติงานที่ขอฟิสิกส์ตามช่วงเวลาxจากนั้นผู้ปฏิบัติงานจะโพสต์คำตอบ (หวังว่า) หลังจากนั้นไม่นาน
    • ข้อเสีย: เนื่องจากโพสต์และคำตอบทั้งหมดเป็นแบบอะซิงโครนัสอาจมีความล่าช้าระหว่างคำขอและการตอบกลับจากผู้ปฏิบัติงาน ในกรณีนี้คุณจะต้องลบล้างonmessageเหตุการณ์เพื่อป้องกันการdocumentฟังของคุณเมื่อไม่ได้คาดหวัง

ฉันแน่ใจว่ามีสิ่งอื่นที่ฉันพลาดหรือวิธีจัดการกับการสื่อสารเช่นกัน ฉันจะตั้งตารอที่จะได้คำตอบอื่น ๆ ในหัวข้อนี้ด้วยตัวเอง!


1
a) ข้อควรระวังเกี่ยวกับประสิทธิภาพ! พิจารณา requestAnimationFrame และส่งสัญญาณ 'ให้มีชีวิตอยู่เพื่อคนงานของคุณจากนั้นเพื่อให้คุณไม่ได้เผา CPU ถ้าแท็บจะอยู่ในพื้นหลัง (อาจจะนานเกินไป)
วินเซนต์ Scheib

b) IIRC ข้อความทั้งหมดจากคนงานจะได้รับในเธรดหลักพวกเขาจะเข้าคิว คิดเกี่ยวกับผลกระทบที่จะมีต่อเธรดหลักของคุณหากคุณได้รับการอัปเดต 5 รายการ แต่ต้องการเพียงเวอร์ชันล่าสุดเท่านั้น คุณไม่สามารถบอกได้ว่าคุณจะมาอีก
Vincent Scheib

c) ข้อความทั้งหมดกำลังทำสำเนาข้อมูล ข้อมูลเพิ่มเติมที่คุณต้องส่งระหว่างเธรดยิ่งมีการคัดลอกและเก็บขยะมากขึ้น ดังนั้นการชนะที่นี่จะเกิดขึ้นก็ต่อเมื่อมีอัตราส่วนการคำนวณ / ข้อความข้อมูลสูง
Vincent Scheib

@Vincent เกี่ยวกับ B) นั่นเป็นเหตุผลที่ฉันบอกว่าคุณจะต้องdocumentพร้อมเสมอโดยการหา fps ที่สมเหตุสมผลหรือไปกับตัวเลือก 2 ที่คนงานไม่ทำอะไรเลยจนกระทั่งdocumentถามหามัน
Kevin Peno

2

Physijsใช้ผู้ปฏิบัติงานเว็บ มันรวมฟิสิกส์กระสุนเข้าด้วยกันกับวัตถุของ Three.js และอัปเดตตามความต้องการ ฉันเชื่อว่ามีทั้งขั้นตอนเวลาคงที่และลื่นไหลฉันเชื่อว่า

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.