แชร์ผ่าน


การคำนวณที่รวดเร็ว

Power Fx นั้นทรงพลังและทำการคำนวณเบื้องหลังมากมายให้คุณโดยอัตโนมัติ แม้ว่า Power Fx จะทำหลายสิ่งหลายอย่างให้คุณโดยอัตโนมัติ แต่ก็เป็นไปได้ที่จะปรับแต่งการคำนวณของคุณให้เร็วที่สุดเท่าที่จะเป็นไปได้

การดึงข้อมูล

ใช้การเลือกคอลัมน์ที่ชัดเจน

คุณลักษณะการเลือกคอลัมน์ที่ชัดเจน (ECS) ถูกเปิดใช้งานตามค่าเริ่มต้นสำหรับแอปใหม่ทั้งหมด หากไม่ได้เปิดใช้งานสำหรับแอปของคุณ คุณควรเปิดใช้งาน ECS จะลดจำนวนคอลัมน์ที่ดึงมาโดยอัตโนมัติ เหลือเพียงคอลัมน์ที่ใช้ในแอปพลิเคชันเท่านั้น หาก ECS ไม่ได้เปิดใช้งาน คุณอาจดึงข้อมูลได้มากกว่าที่คุณต้องการ ซึ่งอาจส่งผลต่อประสิทธิภาพการทำงาน ในบางครั้ง เมื่อแอปดึงข้อมูลผ่านคอลเลกชัน สายหรือแหล่งที่มาของคอลัมน์ต้นฉบับอาจสูญหายได้ เราจะไม่รู้ว่ามีการใช้งานอยู่ และละทิ้งโดยใช้ ECS หรือไม่ โดยปกติคุณสามารถบังคับให้ ECS ทำงานสำหรับคอลัมน์ที่หายไปได้โดยใช้นิพจน์ PowerFx ShowColumns หลังจากการอ้างอิงคอลเลกชันหรือโดยใช้ในตัวควบคุม

ใช้รูปในแกลเลอรี่ ตาราง และแบบฟอร์มอย่างระมัดระวัง

ใช้รูปภาพขนาดย่อของ Dataverse สำหรับแกลเลอรี่และตาราง รูปขนาดย่อของ Dataverse มีขนาดเล็กประมาณ 1 กิโลไบต์และจัดเก็บแบบอินไลน์โดยเป็นส่วนหนึ่งของบันทึก และมีประโยชน์และรวดเร็วสำหรับการแสดงบนส่วนควบคุมที่แสดงคอลเลกชัน การอ้างอิงรูปภาพอื่นๆ ทั้งหมดรวมถึงรูปภาพ SharePoint ทั้งหมดจำเป็นต้องมีการโทรแยกต่างหาก และไม่ควรวางบนแกลเลอรีหรือตาราง วางรูปภาพที่ต้องมีการเรียกแบบฟอร์มรายละเอียดแยกต่างหาก พิจารณาไม่ให้แสดงภาพเต็มโดยค่าเริ่มต้น รูปภาพที่มีรายละเอียดครบถ้วนจะมีประโยชน์และมีความสำคัญต่อผู้ใช้ อย่างไรก็ตาม คุณสามารถทำให้รูปภาพเหล่านี้พร้อมใช้งานสำหรับผู้ใช้ผ่านการกระทำของผู้ใช้ที่ชัดเจน เช่น ปุ่มหรือการนำทางไปยังหน้าที่แยกต่างหาก SharePoint มีรูปภาพขนาดกลางหลายรูปแบบที่คุณสามารถใช้เพื่อใช้กับแบบฟอร์มสั้นๆ ของรูปภาพเต็มได้ Dataverse มีเพียงสองขนาดเท่านั้น คือ ภาพขนาดย่อและเต็ม

การคำนวณ

แยกสูตรด้วย App.formula

การใช้ App.formulas และสูตรที่มีชื่อสามารถช่วยเพิ่มความเร็วในการโหลดแอปและการนำทางเพจได้ เนื่องจากช่วยให้ Power Fx ตัดสินใจว่าเมื่อใดควรประเมินสูตร นั่นหมายความว่าไม่จำเป็นต้องประเมินใน OnStart นอกจากนี้ สูตรที่มีชื่อยังสามารถช่วยในเรื่องความเร็วทั่วไปได้ด้วย โดยเฉพาะอย่างยิ่งหากคุณมีสคริปต์ที่ยาว การแยกออกเป็นสูตรที่มีชื่อช่วยให้การคำนวณมีประสิทธิภาพมากขึ้น เนื่องจาก Power Fx สามารถจัดกำหนดการงานและช่วยให้สามารถนำกลับมาใช้ใหม่ได้ สำหรับข้อมูลเพิ่มเติม ให้ดูที่ App formulas

ใช้ในเวลาเดียวกัน

ใช้ฟังก์ชั่น ในเวลาเดียวกัน เพื่อให้สามารถใช้สูตรได้ในเวลาเดียวกัน เลือกตำแหน่งที่จะใช้พร้อมกันอย่างระมัดระวัง สามารถให้ความเร็วปานกลางได้ แต่หากคุณใช้งานไอเท็มที่ต้องพึ่งพาซึ่งกันและกัน อาจทำให้เกิดปัญหาด้านเวลาและการควบคุมได้

เลื่อนการอัปเดตที่สำคัญไปยังขั้นตอน UI ที่ไม่บล็อก

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

ตัวอย่างของงานซิงโครนัสที่ใช้เวลานานคือการยืนยันที่นั่งในคอนเสิร์ต สำหรับงานซิงโครนัสที่กินเวลาส่วนใหญ่เช่นนี้ เป็นเรื่องปกติที่จะแสดงแถบความคืบหน้า UI นี้บล็อกผู้ใช้จริงๆ แต่ช่วยให้แน่ใจว่างานเสร็จสมบูรณ์ก่อนที่จะอัปเดตองค์ประกอบ UI อื่นๆ วิธีการนี้อาจใช้ไม่ได้กับใบสม้ครของคุณ โดยปกติแล้วธุรกิจจะจัดการกับขั้นตอนที่ต่อเนื่องกันนานกว่าตามขั้นตอนทางธุรกิจที่ชัดเจน คุณได้รับการอนุมัติให้ไปยังขั้นตอนต่อไปผ่านทางสัญญาณกระบวนการทางธุรกิจ ตัวอย่างคือการอนุมัติ การอนุมัติอาจมาเร็วหรืออาจล่าช้าก็ได้ ใน UI you คุณสามารถส่งสัญญาณว่ากระบวนการเสร็จสมบูรณ์ได้หลายวิธี คุณสามารถเปิดใช้งานปุ่ม แสดงข้อความ ส่งอีเมล หรือเปิดใช้งานส่วนหนึ่งของ UI เช่น รายการเมนู

ตัวอย่างของงานอะซิงโครนัสคือการทำให้คำสั่งซื้อเสร็จสมบูรณ์ ลูกค้าจะอัปเดตตะกร้าคำสั่งซื้อ ทำงานตามคำสั่งซื้อของตน จากนั้นจึงทำการสั่งซื้อ แต่ต้องมีการอัปเดตหลายอย่างก่อนที่ลูกค้าจะได้รับวันที่จัดส่งที่ยืนยันแล้ว ในตัวอย่างนี้ วันที่จัดส่งไม่ใช่สิ่งที่คุณสามารถระบุได้อย่างง่ายดายในทันที คุณสามารถเลื่อนการอัปเดตส่วนนี้ไปยังอีเมลที่ส่งถึงลูกค้าในภายหลังได้

สำหรับงานแบบซิงโครนัส คุณมักจะใช้รหัสใน Power Apps สำหรับงานบล็อก UI ตัวอย่างเช่น โค้ดจะรอจนกว่าจะได้รับค่าส่งคืน จากนั้นจึงปล่อยแถบความคืบหน้า ทางที่ดีควรลดสถานการณ์ประเภทนี้ให้เหลือน้อยที่สุด แต่สำหรับงานที่ใช้ขั้นตอนทางธุรกิจที่ชัดเจนหรืองานอะซิงโครนัส เป็นเรื่องปกติที่จะใช้บริการภายนอกเพื่อทำงานให้เสร็จสิ้น เช่น การดำเนินการ Dataverse กระบวนงานที่เก็บไว้ หรือโฟลว์ Power Automate

วาง 'ForAll' อย่างเหมาะสม

หากคุณมีคำกล่าวกับ ForAll และรวบรวมที่มีลักษณะเช่นนี้

ForAll(x, Collect(y, { … }))

จากนั้น แปลงสิ่งนี้เป็น

Collect(y, ForAll(x, { … }))

ในรูปแบบแรก กฎที่ขึ้นอยู่กับการรวบรวม y จะได้รับแจ้งถึงการเปลี่ยนแปลงและประเมินผลสำหรับการวนซ้ำของ x แต่ละครั้ง ในรูปแบบที่สอง กฏเหล่านี้จะได้รับการประเมินเพียงครั้งเดียว

พิจารณาหลีกเลี่ยงการอ้างอิง Gallery.AllItems

เมื่อคุณทำงานด้วย Power Apps ทางที่ดีควรหลีกเลี่ยงการอ้างอิง Gallery.AllItems เว้นแต่ว่าคุณต้องการค่าผู้ใช้ เนื่องจากทุกครั้งที่อ่าน AllItems ตารางเอาต์พุตใหม่จะถูกสร้างขึ้น ให้ใช้ Gallery.AllItemsCount แทน หากคุณต้องการทราบว่ามีการโหลดสินค้าจำนวนเท่าใด

ใช้ Gallery.TemplateSize อย่างระมัดระวัง

ตรวจสอบให้แน่ใจว่าแกลเลอรีที่มีความสูงแบบยืดหยุ่นแสดงผลได้อย่างถูกต้อง จำเป็นต้องกำหนดขนาดเริ่มต้นที่เหมาะสม ในขั้นแรก เราพยายามที่จะแสดงแถวให้มากที่สุดตามค่านี้ หากคุณตั้งค่าขนาดเริ่มต้นเป็น 0 เราจะพยายามแสดงผลทุกอย่าง ยกเว้นกรณีขอบบางกรณี หากคุณใช้สูตร ตรวจสอบให้แน่ใจว่าได้ตั้งค่าขั้นต่ำสำหรับตอนที่สูตรอาจประเมินเป็น 0 ตัวอย่างเช่น คุณสามารถใช้ Max (20, varFoo + rectBar.Height) ด้วยวิธีการนี้ หากยังไม่มี varFoo and rectBar.Height อย่างน้อยให้ใช้ค่าที่เหมาะสมเป็น 20

มีการหน่วงเวลาหนึ่งวินาทีก่อนที่จะตรวจพบการเปลี่ยนแปลง ซึ่งช่วยให้คุณสามารถพิมพ์ให้เสร็จแทนการตรวจจับการเปลี่ยนแปลงในการพิมพ์ทุกครั้ง