It wouldn’t be strange to expect 1 allocation. That of the Test object การแปล - It wouldn’t be strange to expect 1 allocation. That of the Test object ไทย วิธีการพูด

It wouldn’t be strange to expect 1

It wouldn’t be strange to expect 1 allocation. That of the Test object. It also wouldn’t be strange to expect 2 allocations. One for the Test Object, one for a Trouble object. The correct answer is 729. The serializer does not support null. If it serializes an object, and a field is null, we just instantiate a new object of that type, and serialize that. Obviously this could lead to infinite cycles, so we have a relatively magical depth limit of 7 levels. At that point we just stop serializing fields that have types of custom classes/structs and lists and arrays.

Since so many of our subsystems build on top of the serialization system, this unexpectedly large serialization stream for the Test monobehaviour will cause all these subsystems to perform more slowly than necessary. When we investigate performance problems in customer projects, almost always do we find this problem. We added a warning for this situation in Unity 4.5.

No support for polymorphism

if you have a public Animal[] animals and you put in an instance of a dog, a cat and a giraffe, after serialization, you will have three instances of Animal.

One way to deal with this limitation is to realize that it only applies to “custom classes”, which get serialized inline. References to other UnityEngine.Objects get serialized as actual references, and for those polymorphism does actually work. You’d make a ScriptableObject derived class or another MonoBehaviour derived class, and reference that. The downside of that is that you need to store that monobehaviour or scriptable object somewhere, and cannot serialize it inline nicely.

The reason for these limitations is that one of the core foundations of the serialization system is that the layout of the datastream for an object is known ahead of time, and depends on the types of the fields of the class, instead of what happens to be stored inside the fields.

I want to serialize something that Unity’s serializer doesn’t support. What do I do?

In many cases the best approach is to use serialization callbacks. They allow you to be notified before the serializer reads data from your fields and after it is done writing to them. You can use this to have a different representation of your hard-to-serialize data at runtime than when you actually serialize. You’d use these to transform your data into something Unity understands right before unity wants to serialize it, and you use it to transform the serialized form back into the form you like to have your data in at runtime right after unity has written the data to your fields.

Let’s say you want to have a tree datastructure. If you let Unity directly serialize the data structure, the “no support for null” limitation would cause your datastream to become very big, leading to performance degratations in many systems:
0/5000
จาก: -
เป็น: -
ผลลัพธ์ (ไทย) 1: [สำเนา]
คัดลอก!
มันจะไม่เป็นแปลกว่าจะปันส่วนที่ 1 วัตถุการทดสอบที่ มันจะไม่จะแปลกว่าจะปันส่วน 2 หนึ่งสำหรับทดสอบ สำหรับวัตถุที่เป็นปัญหา คำตอบที่ถูกต้องคือ 729 ตัวไม่สนับสนุนเป็น null ถ้ามัน serializes วัตถุ และเขตข้อมูลเป็น null เราเพียงสร้างอินสแตนซ์ของวัตถุใหม่ของชนิด และอนุกรมที่ เห็นได้ชัดซึ่งอาจทำให้รอบไม่สิ้นสุด เราจึงจำกัดความลึกค่อนข้างขลังของระดับ 7 เมื่อถึงจุดนั้น เราเพียงแค่หยุดกำลังซีเรียลไลซ์เขตข้อมูลที่มีชนิดของคลาสที่กำหนด เอง/structs และรายการ และอาร์เรย์ตั้งแต่จำนวนมากเราสร้างระบบย่อยด้านระบบอนุกรม สตรีมสำหรับ monobehaviour ทดสอบอนุกรมใหญ่โดยไม่คาดคิดนี้จะทำให้ระบบย่อยเหล่านี้ทั้งหมดทำงานช้าเกินความจำเป็น เมื่อเราตรวจสอบปัญหาประสิทธิภาพการทำงานในโครงการของลูกค้า มักทำเราพบปัญหานี้ เราสามารถเพิ่มสำหรับสถานการณ์นี้ใน 4.5 สามัคคีไม่มีการสนับสนุนสำหรับโพลิมอร์ฟิซึมถ้าคุณมีสัตว์[]สัตว์สาธารณะ และคุณวางในอินสแตนซ์ของสุนัข แมว และ ยีราฟ หลังอนุกรม คุณจะมีอินสแตนซ์ที่สามของสัตว์วิธีหนึ่งในการจัดการกับข้อจำกัดนี้จะรู้ว่า ใช้ "เรียนเอง" ซึ่งได้รับอนุกรมแบบอินไลน์ อ้างอิง UnityEngine.Objects อื่น ๆ ได้แบบอนุกรมเป็นการอ้างอิงจริง และที่ โพลิมอร์ฟิซึมการทำงานจริง คุณจะทำเป็น ScriptableObject มาหรือชั้น MonoBehaviour มาอีก และการอ้างอิงที่ ข้อเสียที่คือ คุณต้องเก็บที่ monobehaviour หรือ scriptable วัตถุบาง และไม่อนุกรมมันไลน์สวยเหตุผลข้อจำกัดเหล่านี้เป็นที่หนึ่งของฐานรากหลักของระบบอนุกรม คือเค้าโครงของรีมสำหรับวัตถุทราบล่วงหน้า ขึ้นอยู่กับชนิดของฟิลด์ของคลา แทนเกิดอะไรขึ้นจะถูกเก็บไว้ภายในเขตข้อมูลอยากเป็นอนุกรมที่ไม่สนับสนุนตัวทำซีเรียลไลซ์ของความสามัคคี ทำอย่างไรในหลาย ๆ กรณี วิธีการที่ดีที่สุดคือการ ใช้อนุกรมการเรียกกลับ อนุญาตให้คุณรับการแจ้งเตือนก่อนที่ตัวอ่านข้อมูล จากเขตข้อมูลของคุณ และหลัง จากเสร็จเขียนพวกเขา คุณสามารถใช้ได้ให้มีการแสดงที่แตกต่างของข้อมูลอนุกรมฮาร์รันไทม์กว่าเมื่อคุณจริงอนุกรม คุณต้องใช้เหล่านี้การแปลงข้อมูลของคุณเป็นสิ่งที่สามัคคีเข้าใจอยู่ก่อนต้องสามัคคีอนุกรมมัน และคุณใช้การแปลงแบบฟอร์มแบบอนุกรมกลับในแบบฟอร์มคุณต้อง มีข้อมูลในด้านขวาขณะทำงานหลังจากที่สามัคคีมีเขียนข้อมูลลงในเขตข้อมูลของคุณสมมติว่า คุณต้องมี datastructure ต้น ถ้าคุณให้สามัคคีตรงอนุกรมโครงสร้างข้อมูล จำกัด "ไม่สนับสนุนค่า null" จะทำให้คุณรีมเป็นใหญ่มาก นำไป degratations ประสิทธิภาพของระบบ:
การแปล กรุณารอสักครู่..
ผลลัพธ์ (ไทย) 2:[สำเนา]
คัดลอก!
มันจะไม่แปลกที่จะคาดหวังว่าการจัดสรร 1 ของวัตถุทดสอบ นอกจากนี้ยังจะไม่แปลกที่จะคาดหวังว่าการจัดสรร 2 หนึ่งสำหรับวัตถุทดสอบหนึ่งสำหรับวัตถุปัญหา คำตอบที่ถูกต้องคือ 729. serializer ไม่สนับสนุน null ถ้ามัน serializes วัตถุและเขตข้อมูลเป็นโมฆะเราเพียงแค่ยกตัวอย่างวัตถุใหม่ประเภทนั้นและเป็นอันดับที่ เห็นได้ชัดว่านี้อาจนำไปสู่รอบไม่มีที่สิ้นสุดดังนั้นเราจึงมีการ จำกัด ระดับความลึกค่อนข้างขลังของ 7 ระดับ เมื่อมาถึงจุดที่เราได้หยุดเพียงแค่เขตข้อมูลที่มีชนิดของการเรียนที่กำหนดเอง / structs และรายชื่อและอาร์เรย์ serializing. ตั้งแต่จำนวนมากดังนั้นของระบบย่อยของเราสร้างอยู่ด้านบนของระบบอนุกรมนี้กระแสอนุกรมขนาดใหญ่โดยไม่คาดคิดสำหรับ monobehaviour ทดสอบจะทำให้ระบบย่อยเหล่านี้ทั้งหมดเพื่อ ทำงานช้าเกินกว่าที่จำเป็น เมื่อเราตรวจสอบปัญหาประสิทธิภาพการทำงานในโครงการของลูกค้าเกือบตลอดเวลาเราจะพบปัญหานี้ เราได้เพิ่มคำเตือนสำหรับสถานการณ์นี้ในความสามัคคี 4.5. การสนับสนุนสำหรับความแตกต่างไม่ถ้าคุณมีประชาชนสัตว์ [] สัตว์และคุณใส่ในตัวอย่างของสุนัขแมวและยีราฟที่หลังจากอนุกรมคุณจะมีสามกรณีของสัตว์ . วิธีหนึ่งในการจัดการกับข้อ จำกัด นี้ก็คือการตระหนักว่ามันจะใช้กับ "เรียนที่กำหนดเอง" ซึ่งได้รับแบบอินไลน์เนื่อง อ้างอิงถึง UnityEngine.Objects อื่น ๆ ที่ได้รับต่อเนื่องเป็นข้อมูลอ้างอิงที่เกิดขึ้นจริงและความแตกต่างเหล่านั้นไม่ทำงานจริง คุณต้องการให้ระดับ ScriptableObject มาหรือ MonoBehaviour ชั้นอื่นที่ได้มาและการอ้างอิงว่า ข้อเสียของการที่เป็นที่คุณต้องการในการจัดเก็บที่ monobehaviour หรือวัตถุสคริปต์บางและไม่สามารถเป็นอันดับอินไลน์อย่างดี. เหตุผลสำหรับข้อ จำกัด เหล่านี้เป็นที่หนึ่งของรากฐานหลักของระบบอนุกรมคือว่ารูปแบบของ datastream สำหรับวัตถุ เป็นที่รู้จักกันก่อนเวลาและขึ้นอยู่กับประเภทของเขตของชั้นแทนสิ่งที่เกิดขึ้นจะถูกเก็บไว้ภายในฟิลด์. ฉันต้องการที่จะเป็นอันดับสิ่งที่ serializer ความสามัคคีไม่สนับสนุน ฉันจะทำอะไรในหลาย ๆ กรณีวิธีที่ดีที่สุดคือการใช้การเรียกกลับอนุกรม พวกเขาช่วยให้คุณได้รับการแจ้งเตือนก่อนที่จะ serializer อ่านข้อมูลจากเขตข้อมูลของคุณและหลังจากนั้นมันจะทำการเขียนให้กับพวกเขา คุณสามารถใช้นี้จะมีการแสดงที่แตกต่างกันของข้อมูลที่ยากต่อการอันดับของคุณที่รันไทม์กว่าเมื่อคุณจริงเป็นอันดับ คุณต้องการใช้ข้อมูลเหล่านี้ในการแปลงข้อมูลของคุณเป็นสิ่งความสามัคคีความเข้าใจที่ถูกต้องก่อนความสามัคคีต้องการที่จะเป็นอันดับมันและคุณจะใช้มันในการแปลงรูปแบบต่อเนื่องกลับเข้ามาในรูปแบบที่คุณต้องการที่จะมีข้อมูลของคุณในที่รันไทม์ขวาหลังจากความสามัคคีได้เขียนข้อมูล ไปยังเขตของคุณ. สมมติว่าคุณต้องการที่จะมี datastructure ต้นไม้ ถ้าคุณให้ความสามัคคีโดยตรงเป็นอันดับโครงสร้างข้อมูลที่ "การสนับสนุนสำหรับ null ไม่" ข้อ จำกัด จะทำให้เกิด datastream ของคุณจะกลายเป็นใหญ่มากนำไปสู่การ degratations ประสิทธิภาพการทำงานในหลาย ๆ ระบบ:















การแปล กรุณารอสักครู่..
ผลลัพธ์ (ไทย) 3:[สำเนา]
คัดลอก!
มันก็ไม่แปลกหรอกที่จะคาดหวังที่ 1 จัดสรรงบประมาณ ที่ของการทดสอบวัตถุ มันก็ไม่แปลกที่จะคาดหวัง 2 ได้แล้ว สำหรับการทดสอบวัตถุหนึ่งสำหรับปัญหาวัตถุ คำตอบที่ถูกต้องคือ 802 . การ Comment ไม่สนับสนุนการ . ถ้ามัน serializes วัตถุ และสนามว่าง เราแค่ยกตัวอย่างวัตถุใหม่ของชนิดนั้น และทำให้เป็นอนุกรมที่ แน่นอนนี้อาจนำไปสู่วงจรไม่มีที่สิ้นสุด เราจึงมีขีดจำกัดความลึกค่อนข้างขลัง 7 ระดับ ที่จุดที่เราหยุด serializing เขตข้อมูลที่มีชนิดของ / structs รายการและอาร์เรย์เรียนเองตั้งแต่มากของระบบของเราสร้างอยู่ด้านบนของระบบทำให้เป็นอนุกรมนี้ขนาดใหญ่อย่างไม่คาดคิด ทำให้เป็นอนุกรมกระแสสำหรับการทดสอบ monobehaviour จะทำให้ระบบทั้งหมดเหล่านี้ดำเนินการช้า กว่าที่จำเป็น เมื่อเราศึกษาปัญหาการปฏิบัติงานในโครงการลูกค้า เกือบทำเราเจอปัญหานี้ เราได้เพิ่มการเตือนสำหรับสถานการณ์นี้ในความสามัคคี 4.5 .ไม่รองรับ )ถ้าคุณมีสัตว์สาธารณะ [ ] สัตว์และที่คุณใส่ในอินสแตนซ์ของสุนัข แมว และยีราฟ หลังจากการทำให้เป็นอนุกรม คุณจะมีสามกรณีของสัตว์วิธีหนึ่งที่จะจัดการกับข้อ จำกัด นี้ ก็คือ การตระหนักว่ามันใช้เฉพาะกับชั้น " เอง " ซึ่งได้รับการต่อเนื่องในบรรทัด อ้างอิง unityengine อื่น ๆวัตถุที่ได้รับต่อเนื่องเป็นข้อมูลอ้างอิงจริง และสำหรับผู้ที่ไม่มีก็ทำงานได้จริงๆ คุณต้องการให้ scriptableobject โคม่าหรืออื่น monobehaviour โคม่า และการอ้างอิงที่ ข้อเสียของที่ที่คุณต้องการไปที่ร้าน monobehaviour หรือ scriptable วัตถุบางและไม่สามารถทำให้เป็นอนุกรมมันแทรกได้ดีเหตุผลสำหรับข้อ จำกัด เหล่านี้เป็นหนึ่งในหลักฐานของระบบทำให้เป็นอนุกรม คือรูปแบบของดาตาสตรีมสำหรับวัตถุเป็นที่รู้จักกันล่วงหน้า และขึ้นอยู่กับชนิดของเขตข้อมูลในชั้นเรียน แทนที่จะเกิดอะไรขึ้นจะถูกเก็บไว้ในเขตข้อมูลฉันต้องการที่จะทำให้เป็นอนุกรมที่ความสามัคคีของ Comment ไม่สนับสนุน ฉันจะทำยังไงดี ?ในหลายกรณี วิธีการที่ดีที่สุดคือการทำให้เป็นอนุกรมเรียกกลับ พวกเขาช่วยให้คุณได้รับแจ้งก่อน Comment อ่านข้อมูลจากเขตข้อมูล และหลังจากเสร็จเขียนถึงพวกเขา คุณสามารถใช้นี้มีการแสดงของของคุณยากที่จะทำให้เป็นอนุกรมข้อมูลที่รันไทม์กว่าเมื่อคุณจริงทำให้เป็นอนุกรม . คุณจะใช้เหล่านี้เพื่อแปลงข้อมูลให้เป็นเรื่องความสามัคคี เข้าใจก่อน ความสามัคคี ต้องการทำให้เป็นอนุกรมมัน และใช้มันเพื่อเปลี่ยนรูปแบบกลับมาเป็นรูปแบบต่อเนื่องคุณต้องมีข้อมูลในไทม์หลังจากความสามัคคีได้เขียนข้อมูลกับช่องของคุณสมมติว่าคุณต้องการที่จะมีต้นไม้โครงสร้างข้อมูล . ถ้าคุณให้เอกภาพโดยตรงทำให้เป็นอนุกรมข้อมูลโครงสร้าง " ไม่สนับสนุนการ " ข้อจำกัดทำให้ดาตาสตรีมของคุณกลายเป็นใหญ่มาก นำไปสู่การปฏิบัติ degratations ในระบบหลาย
การแปล กรุณารอสักครู่..
 
ภาษาอื่น ๆ
การสนับสนุนเครื่องมือแปลภาษา: กรีก, กันนาดา, กาลิเชียน, คลิงออน, คอร์สิกา, คาซัค, คาตาลัน, คินยารวันดา, คีร์กิซ, คุชราต, จอร์เจีย, จีน, จีนดั้งเดิม, ชวา, ชิเชวา, ซามัว, ซีบัวโน, ซุนดา, ซูลู, ญี่ปุ่น, ดัตช์, ตรวจหาภาษา, ตุรกี, ทมิฬ, ทาจิก, ทาทาร์, นอร์เวย์, บอสเนีย, บัลแกเรีย, บาสก์, ปัญจาป, ฝรั่งเศส, พาชตู, ฟริเชียน, ฟินแลนด์, ฟิลิปปินส์, ภาษาอินโดนีเซี, มองโกเลีย, มัลทีส, มาซีโดเนีย, มาราฐี, มาลากาซี, มาลายาลัม, มาเลย์, ม้ง, ยิดดิช, ยูเครน, รัสเซีย, ละติน, ลักเซมเบิร์ก, ลัตเวีย, ลาว, ลิทัวเนีย, สวาฮิลี, สวีเดน, สิงหล, สินธี, สเปน, สโลวัก, สโลวีเนีย, อังกฤษ, อัมฮาริก, อาร์เซอร์ไบจัน, อาร์เมเนีย, อาหรับ, อิกโบ, อิตาลี, อุยกูร์, อุสเบกิสถาน, อูรดู, ฮังการี, ฮัวซา, ฮาวาย, ฮินดี, ฮีบรู, เกลิกสกอต, เกาหลี, เขมร, เคิร์ด, เช็ก, เซอร์เบียน, เซโซโท, เดนมาร์ก, เตลูกู, เติร์กเมน, เนปาล, เบงกอล, เบลารุส, เปอร์เซีย, เมารี, เมียนมา (พม่า), เยอรมัน, เวลส์, เวียดนาม, เอสเปอแรนโต, เอสโทเนีย, เฮติครีโอล, แอฟริกา, แอลเบเนีย, โคซา, โครเอเชีย, โชนา, โซมาลี, โปรตุเกส, โปแลนด์, โยรูบา, โรมาเนีย, โอเดีย (โอริยา), ไทย, ไอซ์แลนด์, ไอร์แลนด์, การแปลภาษา.

Copyright ©2024 I Love Translation. All reserved.

E-mail: