2012-02-20 1 views
1

이미지 프리 로더를 구축 중이고 다음에로드 할 이미지를 결정하기 위해 가중치 부여 함수를 만들려고합니다. 나는 연속적인 순서로 이미지의 배열을 가지고이미지 로더 웨이팅 알고리즘

: 여기

내 요구에 신속하게 고장이다. I는 -1 가중치는 이전에로드 된 이미지보다 낮은 인덱스를 가질 경우에만 이미지를로드하는 수단
    • 사이 -1과 1의 값을 가지고 있어야 가변 가중치를 갖는다.

    • 가중치 1은 이전에로드 한 이미지보다 큰 인덱스의 이미지 만로드하는 것을 의미합니다.

    • 가중치가 0이면 이미지로드가 균등하게 분산됩니다.

    • 소수점 가중치 (예 : 0.6)는 이전 이미지의 60 %보다 큰 인덱스와 시간의 40 %보다 낮은 인덱스로 이미지를로드하는 것을 의미합니다.

    가중치는 항상 0부터 시작합니다. 각 업데이트의 가중치는보고자하는 새 이미지의 색인과 마지막으로 본 이미지의 색인과 함께 제공됩니다.

  • 수 ( 앞으로 갔다 사용자가있다) 새로운 인덱스는 이전 인덱스보다 큰지 여부를

    • :

      내가 고려하여 각각의 이미지 뷰에 가중치를 수정할 주어진 색인 아래의 이미지 대 위의 수를 비교하십시오.

    • 이전 가중치 (배율이 클수록 배율의 한쪽 끝으로 갈수록 배율이 증가하고 느리게 증가합니다).

    나는이 문제를 충분히 명확하게 만들었기를 바랍니다. 누구든지이 기능을 제공하는 데 도움이되는 알고리즘이나 공식을 알고 있습니까?

    감사합니다.

  • 답변

    0

    내가 이런 식으로 생각하기 시작 :

    function weighting(not_yet_preloaded_indices_array, 
            current_index, 
            previous_index, 
            previous_weighting) { 
        count_of_all = not_yet_preloaded_indices_array.length() 
        count_of_next = count_bigger(not_yet_preloaded_indices_array, current_index) 
        count_of_previous = count_of_all - count_of_next 
    
        if (count_of_previous = 0) { 
         return 1 
        } else if (count_of_next = 0) { 
         return -1 
        } 
    
        if (current_index >= previous_index) { 
         direction = 1 
         modifier = count_of_next/count_of_all 
        } else { 
         direction = -1 
         modifier = count_of_previous/count_of_all 
        } 
    
        return (previous_weighting + direction * modifier)/2 
    } 
    

    을하지만 난이 가중, 간단한 미리로드보다 더 사용자에게 도움이 될 의심 예 : next가 선택한 방향

    1. preload 1 next image (if not already preloaded) 
    2. preload 1 previous image (if not already preloaded) 
    3. preload 5 or 10 next images (only the ones not already preloaded) 
    

    (중 크거나 작은 인덱스)

    +0

    입력 해 주셔서 감사합니다.이 알고리즘의 문제점은 사용자가 반복적으로 이미지를 볼 때 가중치가 0.9에 도달했다는 것입니다. 더 높은 색인, 더 낮은 색인을 가진 심상에 사용자가 간다 즉시 더 낮은 색인을 가진 심상을 미리 설치하기 위하여 무게는 갑자기 좋아한다. 나는 여전히 더 높은 지수를 가진 이미지를 선호하기를 원할 것이다. –

    +0

    그냥 잘못 구현 한 것을 깨달았고 이전 _ 가중치는 가중치를 뒤집는 신호를 멈추어야합니다 ...그 혜택은 내가 90 개 이상의 이미지를 가지고 있고 사용자가 원하는 경로를 자유롭게 사용할 수 있고 (3에서 20 개로 점프 할 수 있음) 여러 개의 이미지를 동시에로드하므로이 도구를 배포하는 방법을 파악하는 데 도움이됩니다. 사용자가 로딩 바를 볼 가능성이 적어 지도록로드. –

    +0

    그냥 각 MB에 대해 지불하는 휴대 전화 사용자가 보이지 않는 이미지를 많이 다운로드하지 않으며 다음 당신을 미워하십시오 :) – Aprillion