นิยายแปลไทย, นิยายแปล, แหล่งรวมนิยาย, แหล่งรวมนิยายยั่ว LC, นิยายญี่ปุ่น, นิยายแต่งเอง, มังงะ, การตูน, อนิเมะ, อนิเมชั่น, กระทู้สไลม์, สไลม์ยอดรัก.

ผู้เขียน หัวข้อ: ระบบ Canvas  (อ่าน 2796 ครั้ง)

ออฟไลน์ ChaiK

  • แมวเทพารักษ์
  • หัวหน้าฝูงหมีเล็ก
  • *****
  • กระทู้: 317
  • ถูกใจแล้ว: 61 ครั้ง
  • ความนิยม: +29/-4
Re: ระบบ Canvas
« ตอบกลับ #20 เมื่อ: มิถุนายน 07, 2016, 12:03:35 PM »
browser ที่ใช้อะไรครับ
 

ออฟไลน์ moody

  • หมีหน้าใหม่
  • *
  • กระทู้: 98
  • ถูกใจแล้ว: 7 ครั้ง
  • ความนิยม: +1/-2
Re: ระบบ Canvas
« ตอบกลับ #21 เมื่อ: มิถุนายน 07, 2016, 12:28:07 PM »
safariครับ
 

ออฟไลน์ ChaiK

  • แมวเทพารักษ์
  • หัวหน้าฝูงหมีเล็ก
  • *****
  • กระทู้: 317
  • ถูกใจแล้ว: 61 ครั้ง
  • ความนิยม: +29/-4
Re: ระบบ Canvas
« ตอบกลับ #22 เมื่อ: มิถุนายน 07, 2016, 12:43:33 PM »
ผมก็เทสบน safari นะ ios ล่าสุดด้วยลอง clear cache ดูแล้วลองเข้าใหม่ครับ
 

ออฟไลน์ moody

  • หมีหน้าใหม่
  • *
  • กระทู้: 98
  • ถูกใจแล้ว: 7 ครั้ง
  • ความนิยม: +1/-2
Re: ระบบ Canvas
« ตอบกลับ #23 เมื่อ: มิถุนายน 07, 2016, 12:56:25 PM »
ผมเคลียแคชบนซาฟารีไม่เป็นอะครับ ใช่ตัวเลือก ล้างประวัติและข้อมูลไหมครับ
 

ออฟไลน์ ChaiK

  • แมวเทพารักษ์
  • หัวหน้าฝูงหมีเล็ก
  • *****
  • กระทู้: 317
  • ถูกใจแล้ว: 61 ครั้ง
  • ความนิยม: +29/-4
Re: ระบบ Canvas
« ตอบกลับ #24 เมื่อ: มิถุนายน 07, 2016, 12:58:56 PM »
ใช่ครับ เสร็จแล้ว login เข้าไปใหม่ครับ
 

ออฟไลน์ moody

  • หมีหน้าใหม่
  • *
  • กระทู้: 98
  • ถูกใจแล้ว: 7 ครั้ง
  • ความนิยม: +1/-2
Re: ระบบ Canvas
« ตอบกลับ #25 เมื่อ: มิถุนายน 07, 2016, 01:05:57 PM »
ตอนนี้เคลียแคชแล้วยังไม่ได้เหมือนเดิมเลยครับ
 

ออฟไลน์ ChaiK

  • แมวเทพารักษ์
  • หัวหน้าฝูงหมีเล็ก
  • *****
  • กระทู้: 317
  • ถูกใจแล้ว: 61 ครั้ง
  • ความนิยม: +29/-4
Re: ระบบ Canvas
« ตอบกลับ #26 เมื่อ: มิถุนายน 07, 2016, 01:10:30 PM »
ลองเปลี่ยน Browser ตัวอื่นเทสดูครับว่าเป็นเหมือนกันมั้ย
 

ออฟไลน์ moody

  • หมีหน้าใหม่
  • *
  • กระทู้: 98
  • ถูกใจแล้ว: 7 ครั้ง
  • ความนิยม: +1/-2
Re: ระบบ Canvas
« ตอบกลับ #27 เมื่อ: มิถุนายน 07, 2016, 01:18:55 PM »
ตอนนี้ผมเทสกับ ipad ipadmini และiphone6 ทั้ง3เครื่องดูไม่ได้เหมือนกันหมดเลยครับ เปลี่ยนbrowserดูแล้วครับ
แต่ซัมซุงS7 ดูได้ไม่มีปัญหาอะไรครับ คอมก็ดูได้ปกติครับ
« แก้ไขครั้งสุดท้าย: มิถุนายน 07, 2016, 01:25:57 PM โดย moody »
 

ออฟไลน์ ChaiK

  • แมวเทพารักษ์
  • หัวหน้าฝูงหมีเล็ก
  • *****
  • กระทู้: 317
  • ถูกใจแล้ว: 61 ครั้ง
  • ความนิยม: +29/-4
Re: ระบบ Canvas
« ตอบกลับ #28 เมื่อ: มิถุนายน 07, 2016, 01:41:42 PM »
ป๊าดตระกูล i ดูไม่ได้ทั้ง 3 ตัวซะงั้น ขอบคุณที่รายงานครับจะกลับไปลองพยายามหาสาเหตุดูครับ รบกวนถ้ามีการ update canvas ช่วยลองเทสใหม่ด้วยนะครับ
 

ออฟไลน์ moody

  • หมีหน้าใหม่
  • *
  • กระทู้: 98
  • ถูกใจแล้ว: 7 ครั้ง
  • ความนิยม: +1/-2
Re: ระบบ Canvas
« ตอบกลับ #29 เมื่อ: มิถุนายน 07, 2016, 01:47:16 PM »
ได้ครับผม ผมก็ทำอะไรไม่ค่อยเป็น แต่ถ้าแค่เทสสบายมากครับ
 

ออฟไลน์ catkuni

  • หมีหน้าใหม่
  • *
  • กระทู้: 4
  • ความนิยม: +0/-0
Re: ระบบ Canvas
« ตอบกลับ #30 เมื่อ: กรกฎาคม 08, 2016, 10:17:08 PM »
ลองเข้ามาอ่าน code ของระบบ canvas

เท่าที่ดูผ่านๆ คิดว่าเข้ารหัสมากเกินความจำเป็น ไปมันจะทำให้ช้าลงหรือเปล่าครับ เห็น loop แล้ว loop อีก
บาง Browser ถึงเปิดได้บ้างไม่ได้บ้าง ยิ่ง JavaScript engine ของมือถือถ้าโหลดหนักๆ ปรกติมันจะข้ามไปเลย
อีกอย่างการเข้ารหัสไว้มากมายไม่ว่า 10 ตัวหรือ 1000 คิดว่าค่าเท่ากันนะ

สปอยส์ ซ่อน ซ่อน:

อีกจุดที่เห็นแปลกๆ คือ ท่านไม่ได้ handle error เอาไว้เลย output เวลา test ระวังผลลัพธ์มันจะ random นะ
ยิ่งพวกจุดที่ใช้ ajax ผ่าน server อย่างน้อยๆ ใช้พวก try catch เอาไว้น่าจะดีกว่าครับ
« แก้ไขครั้งสุดท้าย: กรกฎาคม 08, 2016, 11:22:34 PM โดย catkuni »
 

ออฟไลน์ richter

  • ยอดกวีแห่งเขาเซนนิคุมะ
  • หัวหน้าฝูงหมีกลาง
  • ****
  • กระทู้: 697
  • ถูกใจแล้ว: 412 ครั้ง
  • ความนิยม: +26/-5
Re: ระบบ Canvas
« ตอบกลับ #31 เมื่อ: กรกฎาคม 08, 2016, 10:30:20 PM »
#30 : ผมคิดว่าน่าจะมีปัญหาที่แรมมากกว่าครับเพราะมีแค่ iPhone 6s, iPad air 2 และ iPad mini 4 เท่านั้นที่มีแรม 2GB นอกนั้นตั้งแต่ 1 GB ลงไป
เนื่องจากกระบวนการเกี่ยวกับ string นั้นจะทำการสร้าง char[] ขึ้นมาใหม่ตลอดหาก gc เคลียร์ไม่ทันก็อาจงานงอก


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


 ;)

ออฟไลน์ catkuni

  • หมีหน้าใหม่
  • *
  • กระทู้: 4
  • ความนิยม: +0/-0
Re: ระบบ Canvas
« ตอบกลับ #32 เมื่อ: กรกฎาคม 08, 2016, 11:20:30 PM »
#31 ถ้าไม่ได้ handle error ผลลัพทธ์ค่อนข้างจะ random
และไม่ค่อยเกี่ยวกับ ram หรอกครับ อย่างเช่นจุดที่ replace ตรงๆ ถ้าทำเป็น StringBuilder ผลลัพธ์จะดีกว่านี้
 

ออฟไลน์ richter

  • ยอดกวีแห่งเขาเซนนิคุมะ
  • หัวหน้าฝูงหมีกลาง
  • ****
  • กระทู้: 697
  • ถูกใจแล้ว: 412 ครั้ง
  • ความนิยม: +26/-5
Re: ระบบ Canvas
« ตอบกลับ #33 เมื่อ: กรกฎาคม 09, 2016, 12:01:39 AM »
StringBuilder ? หมายถึง Array.join หรือครับ(จำได้ว่าไม่มีใน builder ใน javascript) ถ้ารู้จำนวนที่แน่นอนก็น่าจะเร็วขึ้นและใช้หน่วยความจำน้อยกว่าครับ

ส่วนเรื่องได้ผล Random นีถ้า browser ในมือถือผมไม่รู้นะครับเพราะไม่ค่อยได้เช็ค แต่ถ้าใน PC ผมไม่เคยเจอนะ แต่ถ้าจะทำ error handler จริงๆ ตัว xmlhttprequest นั้นก็มี status property เอาไว้ให้เช็คอยู่แล้วครับไม่จำเป็นต้องถึงขนาด try catch เป็นโปเกม่อนก็ได้มั้งครับ (หรือว่าเดียวนี้ไม่มีใครใช้ xmlhttprequest ตรงๆ กันแล้ว  :-[ )

ออฟไลน์ catkuni

  • หมีหน้าใหม่
  • *
  • กระทู้: 4
  • ความนิยม: +0/-0
Re: ระบบ Canvas
« ตอบกลับ #34 เมื่อ: กรกฎาคม 09, 2016, 01:13:00 AM »
^
ลืมดูไปหน่อยครับ เพราะ output มาเป็น string ตรงๆ ตอนแรกนึกว่าส่งมาเป็น JSON
กรณีเป็น string ตรงๆ ดัก code error ตรงๆ ได้เลย
 

YUKI_AE

  • บุคคลทั่วไป
Re: ระบบ Canvas
« ตอบกลับ #35 เมื่อ: กรกฎาคม 09, 2016, 08:13:21 AM »
StringBuilder ? หมายถึง Array.join หรือครับ(จำได้ว่าไม่มีใน builder ใน javascript) ถ้ารู้จำนวนที่แน่นอนก็น่าจะเร็วขึ้นและใช้หน่วยความจำน้อยกว่าครับ

ส่วนเรื่องได้ผล Random นีถ้า browser ในมือถือผมไม่รู้นะครับเพราะไม่ค่อยได้เช็ค แต่ถ้าใน PC ผมไม่เคยเจอนะ แต่ถ้าจะทำ error handler จริงๆ ตัว xmlhttprequest นั้นก็มี status property เอาไว้ให้เช็คอยู่แล้วครับไม่จำเป็นต้องถึงขนาด try catch เป็นโปเกม่อนก็ได้มั้งครับ (หรือว่าเดียวนี้ไม่มีใครใช้ xmlhttprequest ตรงๆ กันแล้ว  :-[

^
ลืมดูไปหน่อยครับ เพราะ output มาเป็น string ตรงๆ ตอนแรกนึกว่าส่งมาเป็น JSON
กรณีเป็น string ตรงๆ ดัก code error ตรงๆ ได้เลย  

ท่านทั้งสองเก่งเรื่องโปรแกรมสินะคะ ...หรือว่าเว็ปเราจะได้ผู้พัฒนารายใหม่เพิ่มน้า~~~
 

ออฟไลน์ ChaiK

  • แมวเทพารักษ์
  • หัวหน้าฝูงหมีเล็ก
  • *****
  • กระทู้: 317
  • ถูกใจแล้ว: 61 ครั้ง
  • ความนิยม: +29/-4
Re: ระบบ Canvas
« ตอบกลับ #36 เมื่อ: กรกฎาคม 09, 2016, 10:00:54 AM »
ลองเข้ามาอ่าน code ของระบบ canvas

เท่าที่ดูผ่านๆ คิดว่าเข้ารหัสมากเกินความจำเป็น ไปมันจะทำให้ช้าลงหรือเปล่าครับ เห็น loop แล้ว loop อีก
บาง Browser ถึงเปิดได้บ้างไม่ได้บ้าง ยิ่ง JavaScript engine ของมือถือถ้าโหลดหนักๆ ปรกติมันจะข้ามไปเลย
อีกอย่างการเข้ารหัสไว้มากมายไม่ว่า 10 ตัวหรือ 1000 คิดว่าค่าเท่ากันนะ

[spoiler/]

อีกจุดที่เห็นแปลกๆ คือ ท่านไม่ได้ handle error เอาไว้เลย output เวลา test ระวังผลลัพธ์มันจะ random นะ
ยิ่งพวกจุดที่ใช้ ajax ผ่าน server อย่างน้อยๆ ใช้พวก try catch เอาไว้น่าจะดีกว่าครับ
 

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

เรื่องช้าลง : อันนี้รับรู้อยู่แล้วครับหลังเขียนปกติผมทดสอบเวลาในการโปรเซสเสมอครับแต่จากการทำสอบข้อมูลเยอะๆมันไม่ได้ช้ามากนะครับ ส่วนที่มือถือรวนๆกันมันเท่าที่ทดลองและพอทราบว่าเป็นที่ canvas เนื่องจากเท่าที่ลองหาข้อมูลดูทั้งเรื่องจำนวน max pixel ที่แสดงผลของแต่ ฺBrowser ได้ไม่เท่ากันและ memoey ของแต่ละเครื่อง เลยทำให้เกิดหน้าขาวครับ ซึ่งเท่าที่ทดสอบไม่น่าเกี่ยวกับการถอดรหัส เพราะหลายๆท่านจะเจอว่าขนาดอักษร ใหญ่หรือกลางบางครั้งเป็นหน้าขาวแต่พอตัวเล็กกลับดูได้ซึ่งถ้าเป็นที่เข้ารหัสต้องดูไม่ได้ทุกครั้งครับนี่เป็นเฉพาะเมื่อต้องแสดงผลที่ใช้พื้นที่ canvas และ memory มากขึ้นครับและผมได้่ลองเขียนการแสดงผลแบบอื่นซึ่งใช้ memory มากขึ้นแต่แสดงผลได้ไวขึ้น loop น้อยลงแต่ผลลัพธ์แย่กว่าเดิมครับหลายๆคนหน้าขาวกันเยอะมากทั้งๆที่ตัวอักษรบางเรื่องไม่ได้เยอะมากเลยต้องกลับมาเขียนแบบนี้ปัจจุบันซึ่งปัญหาน้อยที่สุดครับ

เรื่อง handle error : ปกติผมทดสอบบนตัวที่ดู error ได้อยู่แล้วนะครับ ปกติเลยไม่ค่อยได้ใช้เลยลืมครับ ;D แต่ปกติ ajax jquery มันมีตัวเช็คอยู่แลัวนี่ครับเขียนเพิ่มไปมันน่าจะซ้ำซ้อนและไม่ได้ใช้ประโยชน์ไม่ใช่เหรอครับ

#30 : ผมคิดว่าน่าจะมีปัญหาที่แรมมากกว่าครับเพราะมีแค่ iPhone 6s, iPad air 2 และ iPad mini 4 เท่านั้นที่มีแรม 2GB นอกนั้นตั้งแต่ 1 GB ลงไป
เนื่องจากกระบวนการเกี่ยวกับ string นั้นจะทำการสร้าง char[] ขึ้นมาใหม่ตลอดหาก gc เคลียร์ไม่ทันก็อาจงานงอก


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


 ;)  

ส่วนมากเกิดปัญหาตอนแสดงใน canvas อย่างเดียวเลยครับตามที่ผมตอบเรื่องช้าด้านบนนะครับ

ตอนนี้ในใจผมมีคิดแบ่งการแสดงผลจากหน้าเดียวยาวๆเป็นแสดงเป็นหน้าๆไปอยู่ครับซึ่งน่าจะแก้ปัญหาเรื่อง max canvas ได้มั้ง ;D แต่ถ้าซอยย่อยพวกหาผลประโยชน์มันอาจจะ copy ไปลงบนโปรแกรมแปลงรูปเป็นข้อความได้ง่ายเกินไปมั้ยหว่า

ขอบคุณทุกท่านที่มาแสดงความคิดเห็นและแนะนำนะครับ
 

ออฟไลน์ richter

  • ยอดกวีแห่งเขาเซนนิคุมะ
  • หัวหน้าฝูงหมีกลาง
  • ****
  • กระทู้: 697
  • ถูกใจแล้ว: 412 ครั้ง
  • ความนิยม: +26/-5
Re: ระบบ Canvas
« ตอบกลับ #37 เมื่อ: กรกฎาคม 09, 2016, 11:02:13 AM »
#36 : ถ้าจะแบ่งวาดเป็นส่วนๆ ไม่ลองแปลง Canvas เป็น jpg/png ออกมาเป็นภาพๆ ดูหรือครับ(ตัวหนังสือล้วนๆ png น่าจะเล็กว่า) น่าจะประหยัดกว่าแถมไม่ต้องโหลดจากเซิฟซ้ำเวลาเปิดปิดด้วย
โหลดดาต้ามาครั้งเดียววาดเป็น Canvas แล้วแปลงเป็นภาพเซพลง session storage จากนั้นก็ดึงขึ้นมาใส่เพจ
http://stackoverflow.com/questions/19183180/how-to-save-an-image-to-localstorage-and-display-it-on-the-next-page

#35 : ผมโดนทิ้งไว้หลังเขาไปแล้วคราบบบ เขียนแต่ pure Javascript ใช้พวก jquery, typescript, coffeescript สคริปทั้งหลายไม่เป็น  :-[
« แก้ไขครั้งสุดท้าย: กรกฎาคม 09, 2016, 11:20:21 AM โดย richter »
 

ออฟไลน์ ChaiK

  • แมวเทพารักษ์
  • หัวหน้าฝูงหมีเล็ก
  • *****
  • กระทู้: 317
  • ถูกใจแล้ว: 61 ครั้ง
  • ความนิยม: +29/-4
Re: ระบบ Canvas
« ตอบกลับ #38 เมื่อ: กรกฎาคม 09, 2016, 12:27:42 PM »
#36 : ถ้าจะแบ่งวาดเป็นส่วนๆ ไม่ลองแปลง Canvas เป็น jpg/png ออกมาเป็นภาพๆ ดูหรือครับ(ตัวหนังสือล้วนๆ png น่าจะเล็กว่า) น่าจะประหยัดกว่าแถมไม่ต้องโหลดจากเซิฟซ้ำเวลาเปิดปิดด้วย
โหลดดาต้ามาครั้งเดียววาดเป็น Canvas แล้วแปลงเป็นภาพเซพลง session storage จากนั้นก็ดึงขึ้นมาใส่เพจ
http://stackoverflow.com/questions/19183180/how-to-save-an-image-to-localstorage-and-display-it-on-the-next-page

#35 : ผมโดนทิ้งไว้หลังเขาไปแล้วคราบบบ เขียนแต่ pure Javascript ใช้พวก jquery, typescript, coffeescript สคริปทั้งหลายไม่เป็น  :-[
แปลง canvas เป็น img ไม่รอดครับไม่แน่ใจข้อมูลเพราะเยอะไปมั้ย เคยทำเป็ฯ svg ก่อนแปลงเป็น canvas ก็ไม่รอดเหมือนกันครับ ส่วนแปลง svg เป็น img มันสามารถแปลงกลับมาเป็น code ได้ เลยไม่ได้ทำครับ
ส่วนเรื่องเก็บข้อมูลค้างไว้คิดอยู่เหมือนกันครับแต่มันใช้โปรแกรม debug ดูข้อมูลที่เก็บค่าไว้ง่ายกว่าครับ แล้วพอไม่เก็บค่าเรื่องเปลี่ยนขนาดตัวอักษรก็จะทำไม่ได้ด้วยครับเลยต้องดึงใหม่ทุกครั้งครับ
 

ออฟไลน์ ChaiK

  • แมวเทพารักษ์
  • หัวหน้าฝูงหมีเล็ก
  • *****
  • กระทู้: 317
  • ถูกใจแล้ว: 61 ครั้ง
  • ความนิยม: +29/-4
Re: ระบบ Canvas
« ตอบกลับ #39 เมื่อ: กรกฎาคม 09, 2016, 01:24:47 PM »
ท่าน catkuni ใช้ extension ตัวไหนครับที่แสดง text กับ copy นะครับจะได้หามาทดสอบเพิ่ม :-[
 

 

Tags:
นิยายแปลไทย, นิยายแปล, แหล่งรวมนิยาย, แหล่งรวมนิยายยั่ว LC, นิยายญี่ปุ่น, นิยายแต่งเอง, มังงะ, การตูน, อนิเมะ, อนิเมชั่น, กระทู้สไลม์, สไลม์ยอดรัก.